0001558370-25-006502.txt : 20250506 0001558370-25-006502.hdr.sgml : 20250506 20250506161742 ACCESSION NUMBER: 0001558370-25-006502 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 90 CONFORMED PERIOD OF REPORT: 20250331 FILED AS OF DATE: 20250506 DATE AS OF CHANGE: 20250506 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Cadre Holdings, Inc. CENTRAL INDEX KEY: 0001860543 STANDARD INDUSTRIAL CLASSIFICATION: ORTHOPEDIC, PROSTHETIC & SURGICAL APPLIANCES & SUPPLIES [3842] ORGANIZATION NAME: 08 Industrial Applications and Services EIN: 383873146 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-40698 FILM NUMBER: 25917519 BUSINESS ADDRESS: STREET 1: 13386 INTERNATIONAL PKWY CITY: JACKSONVILLE STATE: FL ZIP: 32218 BUSINESS PHONE: (904) 741-5400 MAIL ADDRESS: STREET 1: 13386 INTERNATIONAL PKWY CITY: JACKSONVILLE STATE: FL ZIP: 32218 10-Q 1 cdre-20250331x10q.htm 10-Q CADRE HOLDINGS, INC._March 31, 2025
0001860543--12-312025Q1false0040607988http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#OtherAssetsCurrenthttp://fasb.org/us-gaap/2024#OtherAssetsCurrenthttp://fasb.org/us-gaap/2024#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2024#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrenthttp://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent406595850.360001860543us-gaap:RetainedEarningsMember2025-03-310001860543us-gaap:AdditionalPaidInCapitalMember2025-03-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-03-310001860543us-gaap:RetainedEarningsMember2024-12-310001860543us-gaap:AdditionalPaidInCapitalMember2024-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-12-310001860543us-gaap:RetainedEarningsMember2024-03-310001860543us-gaap:AdditionalPaidInCapitalMember2024-03-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001860543us-gaap:RetainedEarningsMember2023-12-310001860543us-gaap:AdditionalPaidInCapitalMember2023-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001860543us-gaap:CommonStockMember2025-01-012025-03-310001860543us-gaap:CommonStockMember2024-01-012024-03-310001860543us-gaap:OverAllotmentOptionMember2024-04-010001860543cdre:SecondaryOfferingMember2024-03-190001860543cdre:AlphaSafetyIntermediateLlcMember2025-01-012025-03-3100018605432026-04-012025-03-3100018605432025-04-012025-03-310001860543us-gaap:NonUsMember2025-01-012025-03-310001860543country:US2025-01-012025-03-310001860543cdre:U.s.stateAndLocalAgenciesMember2025-01-012025-03-310001860543cdre:U.s.FederalAgenciesMember2025-01-012025-03-310001860543cdre:OtherMember2025-01-012025-03-310001860543cdre:InternationalMember2025-01-012025-03-310001860543cdre:CommercialMember2025-01-012025-03-310001860543us-gaap:NonUsMember2024-01-012024-03-310001860543country:US2024-01-012024-03-310001860543cdre:U.s.stateAndLocalAgenciesMember2024-01-012024-03-310001860543cdre:U.s.FederalAgenciesMember2024-01-012024-03-310001860543cdre:OtherMember2024-01-012024-03-310001860543cdre:InternationalMember2024-01-012024-03-310001860543cdre:CommercialMember2024-01-012024-03-310001860543cdre:CarrSGroupPlcEngineeringDivisionMembercdre:DelayedDrawTermLoanA1FacilityMemberus-gaap:SubsequentEventMember2025-04-012025-04-300001860543us-gaap:InterestRateSwapMember2025-01-012025-03-310001860543us-gaap:ForeignExchangeForwardMember2025-01-012025-03-310001860543us-gaap:InterestRateSwapMember2024-01-012024-03-310001860543us-gaap:ForeignExchangeForwardMember2024-01-012024-03-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-01-012025-03-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001860543srt:MinimumMembercdre:CanadianCreditFacilityMember2021-10-142021-10-140001860543srt:MaximumMembercdre:CanadianCreditFacilityMember2021-10-142021-10-140001860543cdre:CarrSGroupPlcEngineeringDivisionMembercdre:DelayedDrawTermLoanA1FacilityMemberus-gaap:SubsequentEventMember2025-04-300001860543us-gaap:RevolvingCreditFacilityMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543us-gaap:LetterOfCreditMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543cdre:SwingLineLoansMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543cdre:DelayedDrawTermLoanA2FacilityMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543cdre:DelayedDrawTermLoanA1FacilityMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543us-gaap:LetterOfCreditMembercdre:CanadianCreditFacilityMember2021-10-140001860543us-gaap:RevolvingCreditFacilityMembercdre:CanadianCreditFacilityMember2025-03-310001860543us-gaap:RevolvingCreditFacilityMembercdre:CanadianCreditFacilityMember2024-12-310001860543us-gaap:LetterOfCreditMembercdre:AmendedAndRestatedCreditAgreementMember2025-03-310001860543srt:MaximumMember2025-03-310001860543cdre:CashFlowHedgesMember2025-03-310001860543us-gaap:TradeNamesMember2025-03-310001860543us-gaap:TradeNamesMember2024-12-310001860543cdre:ProductsMember2025-01-012025-03-310001860543cdre:ProductsMember2025-03-310001860543cdre:DistributionServicesMember2025-03-310001860543cdre:ProductsMember2024-12-310001860543cdre:DistributionServicesMember2024-12-310001860543us-gaap:TradeNamesMember2025-03-310001860543us-gaap:TechnologyBasedIntangibleAssetsMember2025-03-310001860543us-gaap:NoncompeteAgreementsMember2025-03-310001860543us-gaap:CustomerRelationshipsMember2025-03-310001860543us-gaap:TradeNamesMember2024-12-310001860543us-gaap:TechnologyBasedIntangibleAssetsMember2024-12-310001860543us-gaap:NoncompeteAgreementsMember2024-12-310001860543us-gaap:CustomerRelationshipsMember2024-12-310001860543us-gaap:RetainedEarningsMember2025-01-012025-03-310001860543us-gaap:RetainedEarningsMember2024-01-012024-03-310001860543cdre:OtherLiabilitiesNoncurrentMemberus-gaap:InterestRateSwapMember2024-12-310001860543cdre:AccruedLiabilitiesCurrentMemberus-gaap:InterestRateSwapMember2024-12-310001860543cdre:OtherLiabilitiesNoncurrentMemberus-gaap:InterestRateSwapMember2025-03-310001860543cdre:AccruedLiabilitiesCurrentMemberus-gaap:InterestRateSwapMember2025-03-310001860543cdre:InterestRateSwapTwoMember2025-03-310001860543cdre:InterestRateSwapThreeMember2025-03-310001860543cdre:InterestRateSwapOneMember2025-03-310001860543us-gaap:FairValueInputsLevel2Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2025-03-310001860543us-gaap:OtherCurrentAssetsMemberus-gaap:InterestRateSwapMember2025-03-310001860543cdre:OtherAssetsNoncurrentMemberus-gaap:InterestRateSwapMember2025-03-310001860543us-gaap:FairValueInputsLevel2Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2024-12-310001860543us-gaap:OtherCurrentAssetsMemberus-gaap:InterestRateSwapMember2024-12-310001860543cdre:OtherAssetsNoncurrentMemberus-gaap:InterestRateSwapMember2024-12-310001860543cdre:InterestRateSwapTwoMember2025-01-012025-03-310001860543cdre:InterestRateSwapThreeMember2025-01-012025-03-310001860543cdre:InterestRateSwapOneMember2025-01-012025-03-310001860543cdre:TermLoanMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543us-gaap:RevolvingCreditFacilityMembercdre:AmendedAndRestatedCreditAgreementMember2025-03-310001860543us-gaap:RevolvingCreditFacilityMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-310001860543srt:MinimumMembercdre:AmendedAndRestatedCreditAgreementMemberus-gaap:SecuredOvernightFinancingRateSofrMember2024-12-202024-12-200001860543srt:MinimumMembercdre:AmendedAndRestatedCreditAgreementMemberus-gaap:BaseRateMember2024-12-202024-12-200001860543srt:MaximumMembercdre:AmendedAndRestatedCreditAgreementMemberus-gaap:SecuredOvernightFinancingRateSofrMember2024-12-202024-12-200001860543srt:MaximumMembercdre:AmendedAndRestatedCreditAgreementMemberus-gaap:BaseRateMember2024-12-202024-12-200001860543srt:MinimumMembercdre:CanadianCreditFacilityMemberus-gaap:BaseRateMember2021-10-142021-10-140001860543srt:MinimumMembercdre:CanadianCreditFacilityMembercdre:LondonInterbankOfferedRateMember2021-10-142021-10-140001860543srt:MaximumMembercdre:CanadianCreditFacilityMemberus-gaap:BaseRateMember2021-10-142021-10-140001860543srt:MaximumMembercdre:CanadianCreditFacilityMembercdre:LondonInterbankOfferedRateMember2021-10-142021-10-140001860543us-gaap:OperatingSegmentsMembercdre:ProductsMember2025-01-012025-03-310001860543us-gaap:OperatingSegmentsMembercdre:DistributionServicesMember2025-01-012025-03-310001860543us-gaap:MaterialReconcilingItemsMember2025-01-012025-03-310001860543us-gaap:OperatingSegmentsMembercdre:ProductsMember2024-01-012024-03-310001860543us-gaap:OperatingSegmentsMembercdre:DistributionServicesMember2024-01-012024-03-310001860543us-gaap:MaterialReconcilingItemsMember2024-01-012024-03-310001860543us-gaap:CommonStockMember2025-03-310001860543us-gaap:CommonStockMember2024-12-310001860543us-gaap:CommonStockMember2024-03-310001860543us-gaap:CommonStockMember2023-12-3100018605432024-03-3100018605432023-12-310001860543us-gaap:FairValueInputsLevel1Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2025-03-310001860543us-gaap:FairValueInputsLevel1Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2024-12-310001860543cdre:AlphaSafetyIntermediateLlcMember2024-02-292024-02-290001860543cdre:IcorTechnologyInc.Memberus-gaap:MeasurementInputDiscountRateMember2024-01-090001860543cdre:IcorTechnologyInc.Member2025-03-310001860543cdre:IcorTechnologyInc.Member2024-12-310001860543srt:MaximumMembercdre:BasedOnFutureCumulativeNetSalesDuringThreeYearPeriodEndedJanuary92027Membercdre:IcorTechnologyInc.Member2024-01-090001860543cdre:CarrSGroupPlcEngineeringDivisionMemberus-gaap:SubsequentEventMember2025-04-012025-04-300001860543cdre:IcorTechnologyInc.Member2024-01-092024-01-090001860543us-gaap:InterestRateSwapMember2025-03-310001860543us-gaap:ForeignExchangeForwardMember2025-03-310001860543us-gaap:InterestRateSwapMember2024-12-310001860543us-gaap:AdditionalPaidInCapitalMember2025-01-012025-03-310001860543us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001860543cdre:AlphaSafetyIntermediateLlcMemberus-gaap:TrademarksMember2024-02-292024-02-290001860543cdre:AlphaSafetyIntermediateLlcMemberus-gaap:TechnologyBasedIntangibleAssetsMember2024-02-292024-02-290001860543cdre:AlphaSafetyIntermediateLlcMemberus-gaap:CustomerRelationshipsMember2024-02-292024-02-290001860543cdre:IcorTechnologyInc.Memberus-gaap:TrademarksMember2024-01-092024-01-090001860543cdre:IcorTechnologyInc.Memberus-gaap:TechnologyBasedIntangibleAssetsMember2024-01-092024-01-090001860543cdre:IcorTechnologyInc.Memberus-gaap:CustomerRelationshipsMember2024-01-092024-01-0900018605432025-05-020001860543cdre:KandersCompanyIncMember2025-01-012025-03-310001860543cdre:KandersCompanyIncMember2024-01-012024-03-310001860543us-gaap:OverAllotmentOptionMember2024-04-012024-04-010001860543cdre:SecondaryOfferingMember2024-03-192024-03-190001860543srt:MinimumMembercdre:RevolvingCreditFacilityDelayedDrawTermLoanA1FacilityAndDelayedDrawTermLoanA2FacilityMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543srt:MaximumMembercdre:RevolvingCreditFacilityDelayedDrawTermLoanA1FacilityAndDelayedDrawTermLoanA2FacilityMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-200001860543cdre:AmendedAndRestatedCreditAgreementMember2024-12-2000018605432025-03-3100018605432024-12-310001860543cdre:PeriodAfterQuarterEndedMarch312026Membercdre:AmendedAndRestatedCreditAgreementMember2024-12-202024-12-200001860543cdre:EachQuarterStartingWithQuarterEndedDecember312024Membercdre:AmendedAndRestatedCreditAgreementMember2024-12-202024-12-200001860543us-gaap:RevolvingCreditFacilityMembercdre:CanadianCreditFacilityMember2021-10-140001860543cdre:TermLoanMembercdre:AmendedAndRestatedCreditAgreementMember2024-12-202024-12-200001860543cdre:AmendedAndRestatedCreditAgreementMember2024-12-202024-12-200001860543cdre:EachQuarterStartingWithQuarterEndedDecember312024Member2024-12-202024-12-200001860543us-gaap:FairValueInputsLevel3Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2025-03-310001860543us-gaap:CarryingReportedAmountFairValueDisclosureMember2025-03-310001860543us-gaap:FairValueInputsLevel3Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2024-12-310001860543us-gaap:CarryingReportedAmountFairValueDisclosureMember2024-12-310001860543cdre:AlphaSafetyIntermediateLlcMember2024-02-290001860543cdre:IcorTechnologyInc.Member2024-01-090001860543cdre:IcorTechnologyInc.Member2025-01-012025-03-3100018605432024-01-012024-03-3100018605432025-01-012025-03-31iso4217:USDxbrli:purecdre:itemxbrli:sharesiso4217:CADiso4217:USDxbrli:sharescdre:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

Quarterly Report Pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934

For the quarterly period ended: March 31, 2025

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

CADRE HOLDINGS, INC.

(Exact name of registrant as specified in its charter)

Delaware

    

38-3873146

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification Number)

13386 International Pkwy

Jacksonville, Florida

    

32218

(Address of principal executive offices)

(Zip code)

(904) 741-5400

(Registrant’s telephone number, including area code)

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

Title of each class

    

Trading Symbol

    

Name of each exchange on which registered

Common Stock, par value $0.0001 per share

CDRE

New York Stock Exchange

Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.

Yes   No  

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted and posted 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 and post such files).

Yes   No  

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer

    

Non-accelerated filer

Accelerated filer

Smaller reporting company

Emerging growth company

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

As of May 2, 2025, there were 40,659,585 shares of common stock, par value $0.0001, outstanding.

INDEX

CADRE HOLDINGS, INC.

PART I

FINANCIAL INFORMATION

Page

Item 1.

Financial Statements (Unaudited)

Condensed Consolidated Balance Sheets – March 31, 2025 and December 31, 2024

5

Condensed Consolidated Statements of Operations and Comprehensive Income – Three months ended March 31, 2025 and 2024

6

Condensed Consolidated Statements of Cash Flows –Three months ended March 31, 2025 and 2024

7

Condensed Consolidated Statements of Shareholders’ Equity – Three months ended March 31, 2025 and 2024

8

Notes to Condensed Consolidated Financial Statements

9

Item 2.

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

26

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

35

Item 4.

Controls and Procedures

36

PART II

OTHER INFORMATION

Item 1.

Legal Proceedings

37

Item 1A.

Risk Factors

37

Item 5.

Other Information

37

Item 6.

Exhibits

38

Signature Page

39

2

This Quarterly Report on Form 10-Q (this “Report”) contains “forward-looking statements” within the meaning of the safe harbor provisions of the U.S. Private Securities Litigation Reform Act of 1995. Except where the context otherwise requires or where otherwise indicated, the terms the “Company”, “Cadre”, “we,” “us,” and “our,” refer to the consolidated business of Cadre Holdings, Inc. and its consolidated subsidiaries. All statements in this Report, other than statements of historical fact, are forward-looking statements. These forward-looking statements are based on management’s current expectations, assumptions, hopes, beliefs, intentions, and strategies regarding future events and are based on currently available information as to the outcome and timing of future events. In some cases, you can identify forward-looking statements because they contain words such as “believe,” “may,” “will,” “estimate,” “continue,” “anticipate,” “intend,” “expect,” “should,” “would,” “could,” “plan,” “predict,” “potential,” “seem,” “seek,” “future,” “outlook,” or the negative of these words or other similar terms or expressions that concern our expectations, strategy, plans, or intentions. The Company cautions you that these forward-looking statements are subject to all of the risks and uncertainties, most of which are difficult to predict and many of which are beyond the control of the Company, incident to its business.

Because forward-looking statements relate to the future, they are subject to inherent uncertainties, risks and changes in circumstances that are difficult to predict and many of which are outside of our control. These forward-looking statements are based on information available as of the date of this Report (or, in the case of forward-looking statements incorporated herein by reference, if any, as of the date of the applicable filed document), and any accompanying supplement, and current expectations, forecasts and assumptions, and involve a number of risks and uncertainties. Accordingly, forward-looking statements should not be relied upon as representing the Company’s views as of any subsequent date, and the Company does not undertake any obligation to update forward-looking statements to reflect events or circumstances after the date they were made, whether as a result of new information, future events or otherwise, except as may be required under applicable securities laws. New risks and uncertainties emerge from time to time and it is not possible for us to predict all risks and uncertainties that could have an impact on the forward-looking statements contained in this Report. We cannot assure you that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events, or circumstances could differ materially from those described in the forward-looking statements. We may not actually achieve the plans, intentions, or expectations disclosed in our forward-looking statements and you should not place undue reliance on our forward-looking statements. In addition, statements that “we believe” and similar statements reflect our beliefs and opinions on the relevant subject. Our forward-looking statements do not reflect the potential impact of any future acquisitions, partnerships, mergers, dispositions, joint ventures, or investments we may make.

As a result of a number of known and unknown risks and uncertainties, our actual results or performance may be materially different from those expressed or implied by these forward-looking statements. Some factors that could cause actual results to differ include:

the availability of capital to satisfy our working capital requirements;
anticipated trends and challenges in our business and the markets in which we operate;
our ability to anticipate market needs or develop new or enhanced products to meet those needs;
our expectations regarding market acceptance of our products;
the success of competing products by others that are or become available in the market in which we sell our products;
the impact of adverse publicity about the Company and/or its brands, including without limitation, through social media or in connection with brand damaging events and/or public perception;
changes in political, economic or regulatory conditions generally and in the markets in which we operate;
the impact of political unrest, natural disasters or other crises, terrorist acts, acts of war and/or military operations;
our ability to maintain or broaden our business relationships and develop new relationships with strategic alliances, suppliers,
customers, distributors or otherwise;
our ability to retain and attract senior management and other key employees;

3

our ability to quickly and effectively respond to new technological developments;
the effect of an outbreak of disease or similar public health threat, such as the COVID-19 pandemic, on the Company’s business;
logistical challenges related to supply chain disruptions and delays;
the impact of inflationary pressures and our ability to mitigate such impacts with pricing and productivity;
the possibility that the Company may be adversely affected by other economic, business, and/or competitive factors;
the ability of our information technology systems or information security systems to operate effectively, including as a result of security breaches, viruses, hackers, malware, natural disasters, vendor business interruptions or other causes;
our ability to properly maintain, protect, repair or upgrade our information technology systems or information security systems, or problems with our transitioning to upgraded or replacement systems;
our ability to protect our trade secrets or other proprietary rights and operate without infringing upon the proprietary rights of others and prevent others from infringing on the proprietary rights of the Company;
our ability to maintain a quarterly dividend;
the expenses associated with being a public company, including but not limited to expenses associated with disclosure and reporting obligations;
any material differences in the actual financial results of the Company’s past and future acquisitions as compared with the Company’s expectations;
our ability to integrate the operations of the businesses we have acquired or may acquire in the future;
potential legal, reputational, operational and financial effects on the Company resulting from future cybersecurity incidents on the Company’s business, operations and financial results as well as the effectiveness of the Company’s response and mitigation efforts to any such cybersecurity incidents;
the impact of changes in tariffs, tax laws, global trade policies as well as instability and volatility in global markets; and
other risks and uncertainties set forth in the section entitled “Risk Factors” of our Annual Report on Form 10-K for the year ended December 31, 2024, which are incorporated herein by reference.

We caution you that the foregoing list may not contain all of the forward-looking statements made in this Quarterly Report on Form 10-Q. Other risks and uncertainties are and will be disclosed in our prior and future filings with the Securities and Exchange Commission (“SEC”) and this information should be read in conjunction with the Condensed Consolidated Financial Statements included in this Report.

Neither we nor any other person assumes responsibility for the accuracy and completeness of any of these forward-looking statements.

4

PART I. FINANCIAL INFORMATION

ITEM 1. FINANCIAL STATEMENTS

CADRE HOLDINGS, INC.

CONDENSED CONSOLIDATED BALANCE SHEETS

(Unaudited)

(In thousands, except share and per share amounts)

March 31, 2025

    

December 31, 2024

Assets

 

  

 

  

Current assets

 

  

 

  

Cash and cash equivalents

$

133,431

$

124,933

Accounts receivable, net of allowance for doubtful accounts of $858 and $876, respectively

82,902

93,523

Inventories

 

91,786

 

82,351

Prepaid expenses

 

17,039

 

19,027

Other current assets

 

7,357

 

7,737

Total current assets

 

332,515

 

327,571

Property and equipment, net of accumulated depreciation and amortization of $56,244 and $54,384, respectively

 

45,080

 

45,243

Operating lease assets

15,595

15,454

Deferred tax assets, net

 

4,640

 

4,552

Intangible assets, net

 

105,884

 

107,544

Goodwill

 

148,611

 

148,157

Other assets

 

3,968

 

4,192

Total assets

$

656,293

$

652,713

Liabilities, Mezzanine Equity and Shareholders' Equity

 

  

 

  

Current liabilities

 

  

 

  

Accounts payable

$

32,122

$

29,644

Accrued liabilities

 

41,604

 

46,413

Income tax payable

 

8,560

 

6,693

Current portion of long-term debt

 

11,380

 

11,375

Total current liabilities

 

93,666

 

94,125

Long-term debt

 

209,134

 

211,830

Long-term operating lease liabilities

10,983

10,733

Deferred tax liabilities

 

18,101

 

18,758

Other liabilities

 

6,847

 

5,752

Total liabilities

 

338,731

 

341,198

Commitments and contingencies (Note 8)

 

 

  

Mezzanine equity

 

 

  

Preferred stock ($0.0001 par value, 10,000,000 shares authorized, no shares issued and outstanding as of March 31, 2025 and December 31, 2024)

 

 

Shareholders' equity

 

 

Common stock ($0.0001 par value, 190,000,000 shares authorized, 40,659,585 and 40,607,988 shares issued and outstanding as of March 31, 2025 and December 31, 2024, respectively)

 

4

 

4

Additional paid-in capital

 

307,625

 

306,821

Accumulated other comprehensive loss

 

(1,535)

 

(1,389)

Accumulated earnings

 

11,468

 

6,079

Total shareholders’ equity

 

317,562

 

311,515

Total liabilities, mezzanine equity and shareholders' equity

$

656,293

$

652,713

The accompanying notes are an integral part of these condensed consolidated financial statements.

5

CADRE HOLDINGS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND

COMPREHENSIVE INCOME

(Unaudited)

(In thousands, except share and per share amounts)

Three Months Ended March 31, 

    

2025

    

2024

Net sales

$

130,106

$

137,860

Cost of goods sold

 

73,975

 

80,232

Gross profit

 

56,131

 

57,628

Operating expenses

 

  

 

  

Selling, general and administrative

 

41,753

 

40,719

Restructuring and transaction costs

 

698

 

3,087

Related party expense

 

128

 

1,843

Total operating expenses

 

42,579

 

45,649

Operating income

 

13,552

 

11,979

Other expense

 

  

 

  

Interest expense

 

(2,231)

 

(1,637)

Other income (expense), net

 

1,287

 

(1,444)

Total other expense, net

 

(944)

 

(3,081)

Income before provision for income taxes

 

12,608

 

8,898

Provision for income taxes

 

(3,360)

 

(1,970)

Net income

$

9,248

$

6,928

Net income per share:

 

  

 

  

Basic

$

0.23

$

0.18

Diluted

$

0.23

$

0.18

Weighted average shares outstanding:

 

  

 

  

Basic

 

40,618,554

 

37,946,576

Diluted

 

40,980,861

 

38,554,185

Net income

$

9,248

$

6,928

Other comprehensive income:

 

  

 

  

Unrealized holding (losses) gains on derivative instruments, net of tax(1)

(750)

1,660

Reclassification adjustments for gains included in net income, net of tax(2)

(263)

(894)

Total unrealized (loss) gain on derivative instruments, net of tax

(1,013)

766

Foreign currency translation adjustments, net of tax(3)

 

867

 

(412)

Other comprehensive (loss) income

(146)

354

Comprehensive income, net of tax

$

9,102

$

7,282

(1) Net of income tax of $250 and $546 for the three months ended March 31, 2025 and 2024, respectively.

(2) Amounts reclassified to net income relate to gains on interest rate swaps and foreign currency hedges and are included in Interest expense above. Amounts are net of income tax of $190 and $284 for the three months ended March 31, 2025 and 2024, respectively.

(3) Net of income tax of $119 and $99 for the three months ended March 31, 2025 and 2024, respectively.

The accompanying notes are an integral part of these condensed consolidated financial statements.

6

CADRE HOLDINGS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(Unaudited)

(In thousands)

Three Months Ended March 31, 

    

2025

    

2024

Cash Flows From Operating Activities:

 

  

 

  

Net income

$

9,248

$

6,928

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

 

  

 

  

Depreciation and amortization

 

3,856

 

3,942

Amortization of original issue discount and debt issue costs

 

500

 

149

Amortization of inventory step-up

769

Deferred income taxes

 

533

 

1,546

Stock-based compensation

1,968

2,067

Remeasurement of contingent consideration

331

451

(Recoveries from) provision for losses on accounts receivable

 

(17)

 

480

Unrealized foreign exchange transaction (gain) loss

 

(731)

 

934

Other loss (gain)

41

52

Changes in operating assets and liabilities, net of impact of acquisitions:

 

 

Accounts receivable

 

10,633

 

2,696

Inventories

 

(9,143)

 

1,818

Prepaid expenses and other assets

 

1,340

 

2,028

Accounts payable and other liabilities

 

(1,168)

 

(21,723)

Net cash provided by operating activities

 

17,391

 

2,137

Cash Flows From Investing Activities:

 

  

 

  

Purchase of property and equipment

 

(1,309)

 

(1,343)

Business acquisitions, net of cash acquired

 

 

(141,293)

Net cash used in investing activities

 

(1,309)

 

(142,636)

Cash Flows From Financing Activities:

 

  

 

  

Proceeds from revolving credit facilities

 

 

5,500

Principal payments on revolving credit facilities

 

 

(5,500)

Proceeds from term loans

80,000

Principal payments on term loans

 

(2,813)

 

(2,500)

Principal payments on insurance premium financing

 

 

(1,083)

Payments for debt issuance costs

(844)

Taxes paid in connection with employee stock transactions

(1,140)

(5,311)

Proceeds from secondary offering, net of underwriter discounts

73,535

Deferred offering costs

(722)

Dividends distributed

 

(3,859)

 

(3,289)

Net cash (used in) provided by financing activities

 

(7,812)

 

139,786

Effect of foreign exchange rates on cash and cash equivalents

 

228

 

74

Change in cash and cash equivalents

 

8,498

 

(639)

Cash and cash equivalents, beginning of period

 

124,933

 

87,691

Cash and cash equivalents, end of period

$

133,431

$

87,052

Supplemental Disclosure of Cash Flows Information:

Cash paid for income taxes, net

$

2,017

$

9,369

Cash paid for interest

$

3,527

$

2,498

Supplemental Disclosure of Non-Cash Investing and Financing Activities:

Accruals and accounts payable for capital expenditures

$

104

$

210

Accruals for taxes paid in connection with employee stock transactions

$

24

$

The accompanying notes are an integral part of these condensed consolidated financial statements.

7

CADRE HOLDINGS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY

(Unaudited)

(In thousands, except per share amounts)

Additional 

Common Stock

Paid-In 

Accumulated Other 

Accumulated 

Shareholders' 

    

Shares

    

Amount

    

Capital

    

Comprehensive Loss

    

Earnings

    

Equity

Balance, December 31, 2024

 

40,607,988

 

$

4

 

$

306,821

 

$

(1,389)

 

$

6,079

 

$

311,515

Net income

 

9,248

9,248

Dividends declared ($0.095 per share)

(3,859)

(3,859)

Stock-based compensation

1,968

1,968

Common stock issued under employee compensation plans

86,006

Common stock withheld related to net share settlement of stock-based compensation

(34,409)

(1,164)

(1,164)

Foreign currency translation adjustments

 

867

867

Change in fair value of derivative instruments

(1,013)

(1,013)

Balance, March 31, 2025

 

40,659,585

$

4

$

307,625

$

(1,535)

$

11,468

$

317,562

Additional 

Common Stock

Paid-In 

Accumulated Other 

Accumulated 

Shareholders' 

    

Shares

    

Amount

    

Capital

    

Comprehensive Income

    

Deficit

    

Equity

Balance, December 31, 2023

 

37,587,436

 

$

4

 

$

212,630

 

$

634

 

$

(16,106)

$

197,162

Net income

 

6,928

 

6,928

Dividends declared ($0.0875 per share)

 

(3,289)

 

(3,289)

Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs

2,200,000

72,813

72,813

Stock-based compensation

2,044

2,044

Common stock issued under employee compensation plans

423,688

Common stock withheld related to net share settlement of stock-based compensation

(150,680)

(5,311)

(5,311)

Foreign currency translation adjustments

(412)

(412)

Change in fair value of derivative instruments

766

766

Balance, March 31, 2024

 

40,060,444

$

4

$

282,176

$

988

$

(12,467)

$

270,701

The accompanying notes are an integral part of these condensed consolidated financial statements.

8

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

(in thousands, except share and per share amounts)

1.    SIGNIFICANT ACCOUNTING POLICIES

Nature of Operations and Basis of Presentation

Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 20 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France, and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.

Principles of Consolidation

The accompanying condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles ("GAAP" or “U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting, and include the accounts of the Company, its wholly owned subsidiaries, and other entities consolidated as required by GAAP. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited financial statements. The unaudited condensed consolidated interim financial statements have been prepared on a basis consistent with the audited consolidated financial statements and include all adjustments, which are normal and recurring in nature, necessary for fair financial statement presentation. These condensed consolidated interim financial statements and notes thereto should be read in conjunction with the Company’s most recently completed annual consolidated financial statements. All adjustments considered necessary for a fair presentation have been included. All intercompany balances and transactions have been eliminated in consolidation.

Secondary Offering

On March 19, 2024, the Company completed a secondary offering in which the Company issued and sold 2,200,000 shares of common stock at a price of $35.00 per share. The Company’s net proceeds from the sale of shares were $72,813 after underwriter discounts and commissions, fees and expenses of $4,187.

On April 1, 2024, the underwriters exercised the full amount of their over-allotment option and purchased an additional 545,719 shares of common stock at a price of $35.00 per share, resulting in net proceeds to the Company of $18,280 after underwriter discounts and commissions, fees and expenses of $820.

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation, and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our condensed consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

9

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

Use of Estimates

The preparation of these condensed consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.

Fair Value Measurements

The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, Fair Value Measurements and Disclosures, which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:

Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.

Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.

Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.

The Company’s financial instruments consist principally of cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.

The following table presents our fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis:

March 31, 2025

December 31, 2024

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Money market funds

$

26,370

$

26,370

$

$

$

110,671

$

110,671

$

$

Derivative instruments (Note 7)

$

3,095

$

$

3,095

$

$

4,465

$

$

4,465

$

Liabilities:

Derivative instruments (Note 7)

$

843

$

$

843

$

$

$

$

$

Contingent consideration (Note 2)

$

3,559

$

$

$

3,559

$

3,211

$

$

$

3,211

There were no transfers of assets or liabilities between levels during the three months ended March 31, 2025 and 2024.

There have not been material changes in the fair value of debt (Level 2), as compared to the carrying value, as of March 31, 2025 and December 31, 2024.

Revenue Recognition

The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the

10

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.

The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.

The Company has certain long-term contracts that contain performance obligations that are satisfied over time. The Company invoices the customer once the billing milestone is reached and collects under customary short-term credit terms. For long-term contracts, the Company recognizes revenue using the input method based on costs incurred, as this method is an appropriate measure of progress toward the complete satisfaction of the performance obligation. Due to uncertainties inherent in the estimation process, it is possible that estimates of costs to complete a performance obligation will be revised in the near-term. For those performance obligations for which revenue is recognized using a cost-to-cost input method, changes in total estimated costs, and related progress towards complete satisfaction of the performance obligation, are recognized on a cumulative catch-up basis in the period in which the revisions to the estimates are made. When the current estimate of total costs for a performance obligation indicates a loss, a provision for the entire estimated loss on the unsatisfied performance obligation is made in the period in which the loss becomes evident.

At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.

Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying condensed consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.

Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s condensed consolidated statements of operations and comprehensive income.

Product Warranty

Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements, and is recorded in cost of goods sold in the Company’s condensed consolidated statements of operations and comprehensive income.

The following table sets forth the changes in the Company’s accrued warranties, which are recorded in accrued liabilities in the condensed consolidated balance sheets:

Three Months Ended March 31, 

    

2025

    

2024

Beginning accrued warranty expense

$

1,760

$

1,610

Current period claims

 

(74)

 

(116)

Provision for current period sales

 

8

 

57

Ending accrued warranty expense

$

1,694

$

1,551

11

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

Net Income per Share

Basic income per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. Diluted income per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method. The calculation of weighted average shares outstanding and net income per share are as follows:

    

Three months ended March 31, 

    

2025

    

2024

Net income

$

9,248

$

6,928

 

  

 

  

Weighted average shares outstanding - basic

 

40,618,554

 

37,946,576

Effect of dilutive securities:

Stock-based awards

362,307

607,609

Weighted average shares outstanding - diluted

 

40,980,861

 

38,554,185

Net income per share:

 

  

 

  

Basic

$

0.23

$

0.18

Diluted

$

0.23

$

0.18

For the three months ended March 31, 2025 and 2024, equity awards of 776,215 and 328,474, respectively, were outstanding and anti-dilutive and therefore not included in the calculation of net income per share for these periods.

Recent Accounting Pronouncements

Accounting Pronouncements Not Yet Adopted

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires a public entity to disclose in its rate reconciliation table additional categories of information about federal, state and foreign income taxes and provide more details about the reconciling items in some categories if items meet a quantitative threshold. The guidance will require all entities to disclose income taxes paid, net of refunds, disaggregated by federal (national), state and foreign taxes for annual periods and to disaggregate the information by jurisdiction based on a quantitative threshold. The guidance makes several other changes to the disclosure requirements. All entities are required to apply the guidance prospectively, with the option to apply it retrospectively. The guidance is effective for public business entities for fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the enhanced disclosure requirements, however, we do not anticipate a material change to our financial position, results of operations or cash flows.

12

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

2.    ACQUISITIONS

ICOR Acquisition

On January 9, 2024, Med-Eng, ULC, a wholly-owned subsidiary of the Company, completed the acquisition of ICOR Technology Inc. (“ICOR”), a trusted global supplier of high-quality, reliable, innovative, and cost-effective explosive ordnance disposal robots.

Total consideration, net of cash acquired, was $39,282 for 100% of the equity interests in ICOR. The total consideration was as follows:

Cash paid

    

$

40,350

Less: cash acquired

(1,068)

Plus: Contingent consideration

2,226

Total consideration, net

$

41,508

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the ICOR acquisition is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

41,508

Accounts receivable

$

2,352

Inventories

8,086

Prepaid expenses and other current assets

612

Property and equipment

239

Operating lease assets

1,369

Intangible assets

17,200

Goodwill

18,602

Total assets acquired

48,460

Accounts payable

635

Accrued liabilities

1,455

Long-term operating lease liabilities

967

Deferred tax liabilities

3,895

Total liabilities assumed

6,952

Net assets acquired

$

41,508

13

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

In connection with the acquisition, the Company acquired exclusive rights to ICOR’s trademarks, customer relationships, and product technologies. The amounts assigned to each class of intangible asset and the related average useful lives are as follows:

    

Gross

    

Average Useful Life

Customer relationships

$

1,496

10

Technology

14,283

 

10

Trademarks

1,421

10

Total

$

17,200

The full amount of goodwill of $18,602 is expected to be non-deductible for tax purposes.

As part of the ICOR acquisition, the purchase agreement with respect to the acquisition provided for the payment of contingent consideration of up to CDN$8,000 (approximately $5,797) based upon future cumulative net sales during the three-year period ended January 9, 2027. Using a Monte-Carlo pricing model, the Company estimated the fair value of the contingent consideration to be $2,225 as of January 9, 2024. Significant unobservable inputs used in the valuation include a discount rate of 6.2% and the probability adjusted net sales during the contingency period. The contingent consideration liability is remeasured at the estimated fair value at the end of each reporting period with the change in fair value recognized within operating income in the condensed consolidated statements of operations and comprehensive income for such period. We measure the initial liability and remeasure the liability on a recurring basis using Level 3 inputs as defined under authoritative guidance for fair value measurements.

As the contingent consideration liability is remeasured to fair value each reporting period, significant increases or decreases in projected sales, discount rates or the time until payment is made could result in a significantly lower or higher fair value measurement. Our determination of fair value of the contingent consideration liabilities could change in future periods based on our ongoing evaluation of these significant unobservable inputs.

The following table summarizes the changes in the contingent consideration liability for the three months ended March 31, 2025:

Balance, December 31, 2024

$

3,211

Fair value adjustment

331

Foreign currency translation adjustments

 

17

Balance, March 31, 2025

$

3,559

Alpha Safety Acquisition

On February 29, 2024, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Alpha Safety Intermediate, LLC (“Alpha Safety”), a provider of highly engineered technical products and services spanning the nuclear value chain.

Total consideration, net of cash acquired, was $102,531 for 100% of the equity interests in Alpha Safety. The total consideration was as follows:

Cash paid

    

$

107,138

Less: cash acquired

 

(4,607)

Total consideration, net

$

102,531

14

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Alpha Safety acquisition is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

102,531

Accounts receivable

$

9,189

Inventories

8,527

Prepaid expenses and other current assets

1,889

Property and equipment

2,189

Operating lease assets

2,262

Intangible assets

57,800

Goodwill

49,133

Total assets acquired

130,989

Accounts payable

1,896

Accrued liabilities

12,570

Long-term operating lease liabilities

1,573

Deferred tax liabilities

12,419

Total liabilities assumed

28,458

Net assets acquired

$

102,531

In connection with the acquisition, the Company acquired exclusive rights to Alpha Safety’s trademarks, customer relationships, and product technologies. The amounts assigned to each class of intangible asset and the related average useful lives are as follows:

    

Gross

    

Average Useful Life

Customer relationships

$

17,900

20

Technology

35,200

 

15

Trademarks

4,700

10

Total

$

57,800

The full amount of goodwill of $49,133 is expected to be non-deductible for tax purposes.

15

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

3.    REVENUE RECOGNITION

The following tables disaggregate net sales by channel and geography:

Three Months Ended March 31, 

    

2025

    

2024

U.S. state and local agencies (a)

$

73,409

$

74,992

Commercial

 

11,019

 

11,265

U.S. federal agencies

 

21,484

 

21,186

International

 

22,881

 

29,437

Other

 

1,313

 

980

Net sales

$

130,106

$

137,860

(a) Includes all Distribution sales

Three Months Ended March 31, 

    

2025

    

2024

United States

$

107,225

$

108,423

International

 

22,881

 

29,437

Net sales

$

130,106

$

137,860

Revenue by product is not disclosed, as it is impractical to do so.

Contract Assets and Liabilities

Contract assets represent unbilled amounts resulting from certain long-term contracts that contain performance obligations that are satisfied over time. In these contracts, the revenue recognized exceeds the amount billed to the customer. Contract assets are included in accounts receivable, net in the Company’s condensed consolidated balance sheets and totaled $15,300 and $9,550 as of March 31, 2025 and December 31, 2024, respectively.

Contract liabilities are recorded as a component of other liabilities when customers are billed or remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s condensed consolidated balance sheets and totaled $5,924 and $7,470 as of March 31, 2025 and December 31, 2024, respectively. Revenue recognized during the three months ended March 31, 2025 from amounts included in contract liabilities as of December 31, 2024 was $2,107.

Remaining Performance Obligations

As of March 31, 2025, we had $42,481 of remaining unfulfilled performance obligations, which include amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under ASC Topic 606, Revenue from Contracts with Customers, as of March 31, 2025. We expect to recognize approximately 64% of this balance over the next twelve months and expect the remainder to be recognized in the following two years.

16

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

4.    INVENTORIES

The following table sets forth a summary of inventories, stated at lower of cost or net realizable value, as of March 31, 2025 and December 31, 2024:

March 31, 2025

December 31, 2024

Finished goods

$

36,395

$

31,209

Work-in-process

 

9,904

 

8,321

Raw materials and supplies

 

45,487

 

42,821

Total

$

91,786

$

82,351

5.    GOODWILL AND OTHER INTANGIBLE ASSETS

Goodwill

The following table summarizes the changes in goodwill for the three months ended March 31, 2025:

    

Product

    

Distribution

    

Total

Balance, December 31, 2024

$

145,541

$

2,616

$

148,157

Foreign currency translation adjustments

 

454

 

 

454

Balance, March 31, 2025

$

145,995

$

2,616

$

148,611

Gross goodwill and accumulated impairment losses were $156,196 and $7,585, respectively, as of March 31, 2025 and $155,742 and $7,585, respectively, as of December 31, 2024.

Intangible Assets

Intangible assets such as certain customer relationships and patents on core technologies and product technologies are amortizable over their estimated useful lives. Certain trade names and trademarks which provide exclusive and perpetual rights to manufacture and sell their respective products are deemed indefinite-lived and are therefore not subject to amortization.

Intangible assets consisted of the following as of March 31, 2025 and December 31, 2024:

March 31, 2025

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite-lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

105,602

 

$

(70,183)

 

$

35,419

 

17

Technology

 

64,744

 

 

(16,956)

 

 

47,788

 

13

Tradenames

 

12,683

 

 

(7,177)

 

 

5,506

 

9

Non-compete agreements

 

1,012

 

 

(1,012)

 

 

 

-

$

184,041

 

$

(95,328)

 

$

88,713

Indefinite-lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,171

 

 

 

 

17,171

 

Indefinite

Total

$

201,212

 

$

(95,328)

 

$

105,884

 

  

17

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

December 31, 2024

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite-lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

105,060

 

$

(69,118)

 

$

35,942

 

17

Technology

 

64,600

 

 

(15,819)

 

 

48,781

 

13

Tradenames

 

12,596

 

 

(6,941)

 

 

5,655

 

9

Non-compete agreements

 

996

 

 

(996)

 

 

 

-

$

183,252

 

$

(92,874)

 

$

90,378

Indefinite-lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,166

 

 

 

 

17,166

 

Indefinite

Total

$

200,418

 

$

(92,874)

 

$

107,544

 

  

Amortization expense for the three months ended March 31, 2025 and 2024 was $2,095 and $2,215, respectively, of which $1,074 and $690 was included in cost of goods sold in the condensed consolidated statements of operations and comprehensive income for the respective periods.

The estimated amortization expense for definite-lived intangible assets for the remaining nine months of 2025, the next four years and thereafter is as follows:

Remainder of 2025

    

$

6,329

2026

 

8,150

2027

 

7,977

2028

 

7,977

2029

 

7,880

Thereafter

 

50,400

Total

$

88,713

6.    DEBT

The Company’s debt is as follows:

March 31, 2025

December 31, 2024

Short-term debt:

 

  

 

  

Current portion of term loan

$

11,250

$

11,250

Current portion of other

 

130

 

125

$

11,380

$

11,375

Long-term debt:

 

  

 

  

Revolver

 

 

Term loan

 

210,938

 

213,750

Other

 

259

 

251

$

211,197

$

214,001

Unamortized debt discount and debt issuance costs

 

(2,063)

 

(2,171)

Total long-term debt, net

$

209,134

$

211,830

18

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

The following summarizes the aggregate principal payments of our long-term debt, excluding debt discount and debt issuance costs, for the remaining nine months of 2025, the next four years and thereafter:

Remainder of 2025

    

$

8,567

2026

 

11,380

2027

 

11,380

2028

 

11,250

2029

 

180,000

Total principal payments

$

222,577

2024 Credit Agreement

On December 20, 2024 (the “2024 Credit Agreement Closing Date”), the Company refinanced its existing credit facilities and entered into an Amended and Restated Credit Agreement (the “2024 Credit Agreement”), whereby Safariland, LLC, as borrower (the “2024 Borrower”), the Company, and certain domestic subsidiaries of the 2024 Borrower, as guarantors (the “2024 Guarantors”), closed on and received funding under the 2024 Credit Agreement with PNC, as administrative agent, swingline lender, and issuing lender, along with several other lenders (collectively, the “2024 Lenders”). The 2024 Credit Agreement amends and restates the prior credit agreement in its entirety.

Pursuant to the 2024 Credit Agreement, the 2024 Borrower (i) borrowed $225,000 under a term loan facility (the “2024 Term Loans”), (ii) may borrow up to $175,000 under a revolving credit facility (the “2024 Revolving Loan”), including up to $30,000 for letters of credit and up to $10,000 for swingline loans, (iii) may borrow up to $115,000 under a delayed draw term loan A-1 facility (the “DDTL A-1 Facility”) available through June 20, 2025, and (iv) may borrow up to $75,000 under a delayed draw term loan A-2 facility (the “DDTL A-2 Facility”) available through June 20, 2026. Each of these facilities matures on December 20, 2029. The proceeds of the 2024 Term Loans were used to refinance the outstanding term loans under the 2021 Credit Agreement and to pay fees and expenses incurred in connection with entering into the 2024 Credit Agreement. The 2024 Credit Agreement also permits the 2024 Borrower, subject to certain requirements, to arrange with lenders for an aggregate of $100,000 (or more if certain leverage ratios are met) of additional revolving and/or term loan commitments (both of which are currently uncommitted).

The 2024 Borrower may elect to have borrowings under the 2024 Credit Agreement bear interest at either (i) a base rate plus an applicable margin ranging from 0.50% to 1.50% per annum or (ii) a term SOFR rate plus an applicable margin ranging from 1.50% to 2.50% per annum, in each case based on the Company’s consolidated total net leverage ratio. The 2024 Borrower is also required to pay a commitment fee on the unused portion of the 2024 Revolving Loan, the DDTL A-1 Facility, and the DDTL A-2 Facility, ranging from 0.175% to 0.25% per annum, based on the Company’s consolidated total net leverage ratio.

The 2024 Term Loans require scheduled quarterly principal payments of 1.25% of the original aggregate principal amount, beginning March 31, 2025, with the balance due at maturity.

The 2024 Credit Agreement is guaranteed, jointly and severally, by the 2024 Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the 2024 Borrower and the 2024 Guarantors pursuant to an Amended and Restated Security and Pledge Agreement and an Amended and Restated Guaranty and Suretyship Agreement, each dated as of the 2024 Credit Agreement Closing Date.

19

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

The 2024 Credit Agreement contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the 2024 Borrower or any 2024 Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. Additionally, the 2024 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of 1.25 to 1.00, starting with the quarter ended December 31, 2024, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of 4.00 to 1.00 from the quarter ended December 31, 2024 until the quarter ended March 31, 2026, and thereafter 3.50 to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to 0.50 to 1.00 for four fiscal quarters following such acquisition, subject to a maximum consolidated total net leverage ratio of 4.00 to 1.00. Furthermore, the 2024 Credit Agreement also includes customary events of default, including non-payment of principal, interest, or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payments on other material indebtedness, bankruptcy and insolvency events, material judgments, and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2024 Credit Agreement may be accelerated, and the Lenders could foreclose on their security interests in the assets of the Borrower and the Guarantors.

There were no amounts outstanding under the 2024 Revolving Loan as of March 31, 2025 and December 31, 2024. As of March 31, 2025, there were $2,165 in outstanding letters of credit and $172,835 of availability.

Canadian Credit Facility

On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10,000 under a revolving line of credit (including up to $3,000 for letters of credit) (the “Revolving Canadian Loan”). The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement (the “Canadian Guaranty Agreement”).

The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.

The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions.

20

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated.

There were no amounts outstanding under the Revolving Canadian Loan as of March 31, 2025 and December 31, 2024.

7.    DERIVATIVE INSTRUMENTS

Interest Rate Swaps

We entered into interest rate swap agreements to hedge forecasted monthly interest rate payments on our floating rate debt. Under the terms of the interest rate swap agreements (“Swap Agreements”), we receive payments based on the 1-month SOFR (4.32% as of March 31, 2025). We had the following Swap Agreements as of March 31, 2025:

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

82,500

0.812

%

May 31, 2023 through July 23, 2026

$

45,000

    

3.905

%

February 14, 2025 through December 20, 2029

    

$

38,883

    

4.080

%

During the three months ended March 31, 2025, there were no Swap Agreements that expired.

We designated the Swap Agreements as cash flow hedges. A portion of the amount included in accumulated other comprehensive loss is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.

It is our policy to execute such instruments with creditworthy banks and not to enter into derivative financial instruments for speculative purposes. We believe our interest rate swap counterparty will be able to fulfill their obligations under our agreements, and we believe we will have debt outstanding through the expiration date of the swap agreements such that the occurrence of future cash flow hedges remains probable.

The estimated fair value of our Swap Agreements in the condensed consolidated balance sheets was as follows:

Balance Sheet Accounts

March 31, 2025

    

December 31, 2024

Other current assets

$

2,479

$

2,749

Other assets

$

616

$

1,298

Accrued liabilities

$

63

$

Other liabilities

$

707

$

A cumulative gain, net of tax, of $1,645 and $2,917 is recorded in accumulated other comprehensive loss as of March 31, 2025 and December 31, 2024, respectively.

The amount of loss, net of tax, recognized in other comprehensive (loss) income for the three months ended March 31, 2025 and 2024 was $695 and $1,568, respectively. There was a gain, net of tax, of $577 and $872 reclassified from accumulated other comprehensive loss into earnings for the three months ended March 31, 2025 and 2024, respectively.

As of March 31, 2025, approximately $2,318 is expected to be reclassified from accumulated other comprehensive loss into interest expense over the next 12 months.

21

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

Foreign Currency Hedge

We entered into forward contracts to hedge forecasted Mexican Peso (“MXN”) denominated costs associated with our Mexican subsidiary. These contracts are designated as cash flow hedges to manage foreign currency transaction risk and are measured at fair value and reported as current assets or current liabilities in the condensed consolidated balance sheets. Any changes in the fair value of designated cash flow hedges are recorded in other comprehensive (loss) income and are reclassified from accumulated other comprehensive loss into earnings in the period the hedged item impacts earnings.

As of March 31, 2025, the Company had outstanding contracts with a total notional amount of $94,313 MXN and recognized a cumulative loss, net of tax, of $55 in accumulated other comprehensive loss.

The Company recognized a loss, net of tax, of $55 and a gain, net of tax, of $92 in other comprehensive (loss) income for the three months ended March 31, 2025 and 2024, respectively. There was a loss, net of tax, of $314 and $22 reclassified from accumulated other comprehensive loss into earnings for the three months ended March 31, 2025 and 2024, respectively.

As of March 31, 2025, approximately $55 is expected to be reclassified from accumulated other comprehensive loss into earnings over the next 12 months.

8.    COMMITMENTS AND CONTINGENCIES

Legal Proceedings

The Company is also involved in various legal disputes and other legal proceedings and claims that arise from time to time in the ordinary course of business. The Company vigorously defends itself against all lawsuits and evaluates the amount of reasonably possible losses that the Company could incur as a result of these matters. While any litigation contains an element of uncertainty, the Company believes that the reasonably possible losses that the Company could incur in excess of insurance coverage would not have a material adverse effect on the Company’s consolidated financial position, results of operations, or liquidity.

Insurance

The Company has various insurance policies, including product liability insurance, covering risks and in amounts it considers adequate. There can be no assurance that the insurance coverage maintained by the Company is sufficient or will be available in adequate amounts or at a reasonable cost.

International

As an international company, we are, from time to time, the subject of investigations related to the Company’s international operations, including under U.S. export control laws (such as ITAR), the FCPA and other similar U.S. and foreign laws. To the best of the Company’s knowledge, there are not any potential or pending investigations at this time.

9.    INCOME TAXES

The Company and its subsidiaries file income tax returns in the U.S. federal, various state and local, and certain foreign jurisdictions. As of March 31, 2025, the Company’s tax years subsequent to 2017 are subject to examination by tax authorities with few exceptions.

The effective tax rate was 26.6% for the three months ended March 31, 2025 and was higher than the statutory rate primarily due to state taxes and non-deductible executive compensation. The effective tax rate was 22.1% for the three months ended March 31, 2024 and was lower than the statutory rate primarily due to the vesting of stock compensation, partially offset by non-deductible executive compensation.

22

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

10.     LEASES

The Company leases certain manufacturing and office space, retail locations, and equipment. Operating lease assets and liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. The Company has elected the practical expedient and does not recognize a lease liability or right-of-use (“ROU”) asset for short-term leases (leases with a term of twelve months or less). The Company uses its incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments. The Company’s incremental borrowing rate is the rate for collateralized borrowings based on the current economic environment, credit history, credit rating, value of leases, currency in which the lease obligation is satisfied, rate sensitivity, lease term and materiality. Our operating leases have remaining contractual terms of up to five years, some of which include options to extend the leases for up to five years.

The amount of assets and liabilities related to our operating leases were as follows:

Balance Sheet Accounts

March 31, 2025

    

December 31, 2024

Assets:

Operating lease assets

Operating lease assets

$

15,595

$

15,454

Liabilities:

Current:

Operating lease liabilities

Accrued liabilities

$

4,721

$

4,824

Long-term:

Operating lease liabilities

Long-term operating lease liabilities

10,983

10,733

Total lease liabilities

$

15,704

$

15,557

The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the condensed consolidated statements of operations and comprehensive income. The components of lease expense were as follows:

Three Months Ended March 31, 

    

2025

    

2024

Fixed operating lease costs(1)

$

1,420

$

1,149

Variable operating lease costs

 

410

 

255

Total

$

1,830

$

1,404

(1) Includes short-term leases, which are immaterial.

The weighted average remaining lease term and weighted average discount rate is as follows:

March 31, 2025

    

December 31, 2024

Weighted average remaining lease term (years):

 

 

Operating leases

3.52

3.07

Weighted average discount rate:

Operating leases

3.19%

3.14%

23

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

The estimated future minimum lease payments under operating leases for the remaining nine months of 2025, the next four years and thereafter is as follows:

Remainder of 2025

$

3,900

2026

 

4,554

2027

 

3,474

2028

 

2,513

2029

 

1,539

Thereafter

 

1,145

Total future lease payments

17,125

Less: Amount representing interest

(1,421)

Present value of lease liabilities

$

15,704

Supplemental cash flow information related to leases is as follows:

    

Three Months Ended March 31, 

2025

    

2024

Cash paid for amounts included in the measurement of lease liabilities:

 

 

Operating cash flows - operating leases

$

1,476

$

1,073

Right-of-use assets obtained in exchange for lease liabilities:

Operating leases

$

1,940

$

1,349

11.     RELATED PARTY TRANSACTIONS

The Company leases some distribution warehouses and retail stores from certain employees. The Company recorded rent expense related to these leases of $128 and $93 for the three months ended March 31, 2025 and 2024, respectively. Rent expense related to these leases is included in related party expense in the Company’s condensed consolidated statements of operations and comprehensive income.

During the three months ended March 31, 2024, the Company paid $1,750 to Kanders & Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer, for services related to the acquisition of Alpha Safety, which is included in related party expense in the Company’s condensed consolidated statements of operations and comprehensive income.

There were no payments made to Kanders & Company, Inc. for the three months ended March 31, 2025.

12.     SEGMENT DATA

Our segment disclosure is intended to provide the users of our consolidated financial statements with a view of the business that is consistent with management of the Company.

Our operations are comprised of two operating and reportable segments: Product and Distribution. The Product segment is comprised of components that manufacture and sell products, while the Distribution segment is comprised of our business that serves as a one-stop shop for law enforcement agencies that sells goods produced by the Product segment, as well as other third-party productsSegment information is consistent with how the chief operating decision maker (“CODM”), our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance. The CODM evaluates segment performance and

24

Table of Contents

CADRE HOLDINGS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS - CONTINUED

(Unaudited)

(in thousands, except share and per share amounts)

decides how to allocate resources based on segment gross profit. The CODM is not regularly provided asset information or operating expenses by segment as that information is not available.

    

Three Months Ended March 31, 2025

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

112,735

$

27,862

$

(10,491)

    

$

130,106

Cost of goods sold

62,625

21,841

(10,491)

73,975

Gross profit

$

50,110

$

6,021

$

$

56,131

    

Three Months Ended March 31, 2024

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

118,785

$

28,191

$

(9,116)

    

$

137,860

Cost of goods sold

67,764

21,557

(9,089)

80,232

Gross profit

$

51,021

$

6,634

$

(27)

$

57,628

(1) Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.

13.     SUBSEQUENT EVENTS

Acquisition

In April 2025, the Company acquired Carr’s Engineering Limited (excluding Chirton Engineering) and Carr's Engineering (US), Inc. (together the “Nuclear Engineering Division”), each a subsidiary of Carr’s Group plc, for approximately $99,750.

The acquisition will be accounted for using the acquisition method of accounting whereby the acquired assets and liabilities of the acquired companies will be recorded at their respective fair values and added to those of the Company, including an amount for goodwill representing the difference between the acquisition consideration and the fair value of the identifiable net assets. Results of operations of the acquired companies will be included in the operations of the Company beginning on the closing date. As of the date of the filing of this Form 10-Q, the initial purchase price allocation has not been prepared as there has not been sufficient time to complete the related activities.

Long-Term Debt

In April 2025, in connection with the acquisition of the Nuclear Engineering Division, the Company drew $97,500 of the $115,000 available under the DDTL- A-1 Facility. The DDTL- A-1 Facility has the same terms and conditions as the 2024 Term Loan including such items as interest rate, quarterly amortization payment requirements, and maturity date.

25

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

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

The following discussion and analysis of the financial condition and results of operations of Cadre Holdings, Inc. (D/B/A The Safariland Group) (“Cadre,” “the Company” “we,” “us” and “our”) should be read in conjunction with our unaudited condensed consolidated financial statements and the related notes appearing elsewhere in this Quarterly Report and with our audited consolidated financial statements included in our Annual Report on Form 10-K for the fiscal year ended December 31, 2024. The following discussion contains forward-looking statements that reflect future plans, estimates, beliefs and expected performance. The forward-looking statements are dependent upon events, risks and uncertainties that may be outside of Cadre’s control. Our actual results may differ significantly from those projected in the forward-looking statements. Factors that might cause future results to differ materially from those projected in the forward- looking statements include, but are not limited to, those discussed in Part I, Item 1A. Risk Factors of our Annual Report on Form 10-K for the year ended December 31, 2024 and the section entitled “Cautionary Statement Regarding Forward-Looking Statements” included elsewhere in this Quarterly Report on Form 10-Q.

Our Business

Cadre is a global leader in the manufacturing and distribution of safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. Our equipment provides critical protection to allow its users to safely and securely perform their duties and protect those around them in hazardous or life-threatening situations. Through our dedication to superior quality, we establish a direct covenant with end users that our products will perform and keep them safe when they are most needed. We sell a wide range of products including body armor, explosive ordnance disposal equipment and duty gear through both direct and indirect channels. In addition, through our owned distribution, we serve as a one-stop shop for first responders providing equipment we manufacture as well as third-party products including uniforms, optics, boots, firearms and ammunition. The majority of our diversified product offering is governed by rigorous safety standards and regulations. Demand for our products is driven by technological advancement as well as recurring modernization and replacement cycles for the equipment to maintain its efficiency, effective performance and regulatory compliance.

We service the ever-changing needs of our end users by investing in research and development for new product innovation and technical advancements that continually raise the standards for safety equipment. Our target end user base includes domestic and international first responders such as state and local law enforcement, fire and rescue, explosive ordnance disposal technicians, emergency medical technicians, fishing and wildlife enforcement and departments of corrections, as well as federal agencies including the U.S. Department of State, U.S. Department of Defense, U.S. Department of Interior, U.S. Department of Justice, U.S. Department of Homeland Security, U.S. Department of Corrections and numerous foreign government agencies in over 100 countries.

The following table sets forth a summary of our financial highlights for the periods indicated:

Three Months Ended March 31, 

(in thousands)

2025

2024

Net sales

    

$

130,106

    

$

137,860

Net income

$

9,248

$

6,928

Adjusted EBITDA(1)

$

20,497

$

24,488

(1)Adjusted EBITDA is a non-GAAP financial measure. See “Non-GAAP Measures” below for our definition of, and additional information about, Adjusted EBITDA, and for a reconciliation to net income, the most directly comparable U.S. GAAP financial measure.

Net sales decreased by $7.8 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024, primarily as a result of a decrease in explosive ordnance disposal (“EOD”) and armor products, partially offset by increases from recent acquisitions and international crowd control products.

26

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

Net income increased by $2.3 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024, primarily as a result of the non-recurrence of acquisition related costs incurred in 2024.

KEY PERFORMANCE METRICS

Orders backlog

We monitor our orders backlog, which we believe is a forward-looking indicator of potential sales. Our orders backlog for products includes all orders that have been received and are believed to be firm. Due to municipal government procurement rules, in certain cases orders included in backlog are subject to budget appropriation or other contract cancellation clauses. Consequently, our orders backlog may differ from actual future sales. Orders backlog can be helpful to investors in evaluating the performance of our business and identifying trends over time.

The following table presents our orders backlog as of the periods indicated:

March 31, 2025

December 31, 2024

Orders backlog

$

151,185

$

128,814

Orders comprising backlog as of a given balance sheet date are typically invoiced in subsequent periods. The majority of our products are generally processed and shipped within one to three weeks of an order being placed, though the fulfillment time for certain products, for example, explosive ordnance disposal equipment, may take three months or longer. Our orders backlog could experience volatility between periods, including as a result of customer order volumes and the speed of our order fulfilment, which in turn may be impacted by the nature of products ordered, the amount of inventory on hand and the necessary manufacturing lead time.

Orders backlog increased by $22.4 million as of March 31, 2025 compared to December 31, 2024, primarily due to increases of $10.6 million from EOD products, $6.6 million from chemiluminescent products, $2.8 million from duty gear products, and $2.2 million from structural armor products, partially offset by a reduction of $1.4 million from delivery of large international crowd control orders.

27

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

RESULTS OF OPERATIONS

In order to reflect the way our chief operating decision maker reviews and assesses the performance of the business, Cadre has determined that it has two reportable segments — the Product segment, which is comprised of components that manufacture and sell products, and the Distribution segment, which is comprised of our business that serves as a one-stop shop for law enforcement agencies that sells goods produced by the Product segment, as well as other third-party products. Segment information is consistent with how the chief operating decision maker, our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance.

The following table presents data from our results of operations for the three months ended March 31, 2025 and 2024 (in thousands unless otherwise noted):

Three Months Ended March 31, 

2025

2024

% Chg

Net sales

$

130,106

$

137,860

(5.6)

%

Cost of goods sold

 

73,975

 

80,232

(7.8)

%

Gross profit

 

56,131

 

57,628

(2.6)

%

Operating expenses

Selling, general and administrative

 

41,753

 

40,719

2.5

%

Restructuring and transaction costs

 

698

 

3,087

(77.4)

%

Related party expense

 

128

 

1,843

(93.1)

%

Total operating expenses

 

42,579

 

45,649

(6.7)

%

Operating income

 

13,552

 

11,979

13.1

%

Other expense

Interest expense

 

(2,231)

 

(1,637)

36.3

%

Other income (expense), net

 

1,287

 

(1,444)

(189.1)

%

Total other expense, net

 

(944)

 

(3,081)

(69.4)

%

Income before provision for income taxes

 

12,608

 

8,898

41.7

%

Provision for income taxes

 

(3,360)

 

(1,970)

70.6

%

Net income

$

9,248

$

6,928

33.5

%

The following tables present segment data for the three months ended March 31, 2025 and 2024 (in thousands):

    

Three Months Ended March 31, 2025

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

112,735

$

27,862

$

(10,491)

    

$

130,106

Cost of goods sold

62,625

21,841

(10,491)

73,975

Gross profit

$

50,110

$

6,021

$

$

56,131

    

Three Months Ended March 31, 2024

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

118,785

$

28,191

$

(9,116)

    

$

137,860

Cost of goods sold

67,764

21,557

(9,089)

80,232

Gross profit

$

51,021

$

6,634

$

(27)

$

57,628

(1) Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.

28

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

Comparison of Three months Ended March 31, 2025 to Three months Ended March 31, 2024

Net sales. Product segment net sales decreased by $6.1 million, or 5.1%, from $118.8 million to $112.7 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024, primarily due to decreases of $8.7 million from EOD products and $7.2 million from armor products, both from large orders delivered in 2024, partially offset by increases of $9.1 million from recent acquisitions and $1.4 million from international crowd control products. Distribution segment net sales decreased by $0.3 million, or 1.2%, from $28.2 million to $27.9 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024, primarily due to decreased demand for hard goods. Reconciling items consisting primarily of intercompany eliminations were $10.5 million and $9.1 million for the three months ended March 31, 2025 and 2024, respectively.

Cost of goods sold and gross profit. Product segment cost of goods sold decreased by $5.2 million, or 7.6%, from $67.8 million to $62.6 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024, primarily due to decreased volumes and the absence of inventory step-up amortization, partially offset by increased costs to manufacture product. Product segment gross profit as a percentage of net sales increased by 150 basis points to 44.4% for the three months ended March 31, 2025 from 43.0% for the three months ended March 31, 2024, mainly driven by favorable mix, favorable pricing net of material inflation and the absence of inventory step-up amortization, partially offset by lower volumes. Distribution segment cost of goods sold increased by $0.2 million, or 1.3%, from $21.6 million to $21.8 million for the three months ended March 31, 2025 as compared to the same period in 2024, primarily due to unfavorable mix. Distribution segment gross profit as a percentage of net sales decreased by 192 basis points to 21.6% for the three months ended March 31, 2025 from 23.5% for the three months ended March 31, 2024, mainly driven by unfavorable mix. Reconciling items consisting primarily of intercompany eliminations were $10.5 million and $9.1 million for the three months ended March 31, 2025 and 2024, respectively.

Selling, general and administrative. Selling, general and administrative increased by $1.0 million, or 2.5%, for the three months ended March 31, 2025 as compared to the same period in 2024, primarily due to recent acquisitions.

Restructuring and transaction costs. Restructuring and transaction costs decreased by $2.4 million for the three months ended March 31, 2025 primarily due to costs incurred in 2024 associated with the ICOR and Alpha Safety acquisitions.

Related party expense. Related party expense, which ordinarily consists of rent expense related to distribution warehouses and retail stores that we lease from related parties, decreased by $1.7 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024 primarily due to a $1.8 million transaction fee paid to Kanders & Company, Inc., a company controlled by our Chief Executive Officer, in connection with the acquisition of Alpha Safety.

Interest expense. Interest expense increased by $0.6 million for the three months ended March 31, 2025 as compared to the three months ended March 31, 2024, primarily due to the debt refinancing that occurred in the fourth quarter of 2024.

Other income (expense), net. Other income, net was $1.3 million for the three months ended March 31, 2025 as compared to Other expense, net of $1.4 million for the three months ended March 31, 2024, primarily due to changes in foreign currency exchange rates.

Provision for income taxes. Provision for income taxes was $3.4 million for the three months ended March 31, 2025 compared to $2.0 million for the three months ended March 31, 2024. The effective tax rate was 26.6% for the three months ended March 31, 2025 and was higher than the statutory rate primarily due to state taxes and non-deductible executive compensation. The effective tax rate was 22.1% for the three months ended March 31, 2024 and was lower than the statutory rate primarily due to the vesting of stock compensation, partially offset by non-deductible executive compensation.

NON-GAAP MEASURES

This Quarterly Report on Form 10-Q includes EBITDA and Adjusted EBITDA, which are non-GAAP financial measures that we use to supplement our results presented in accordance with U.S. GAAP. EBITDA is defined as net income before depreciation and amortization expense, interest expense and provision for income tax. Adjusted EBITDA represents EBITDA that excludes

29

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

restructuring and transaction costs, other (income) expense, net, stock-based compensation expense, stock-based compensation payroll tax expense, long-term incentive plan (“LTIP”) bonus, amortization of inventory step-up and contingent consideration expense as these items do not represent our core operating performance.

EBITDA and Adjusted EBITDA are performance measures that we believe are useful to investors and analysts because they illustrate the underlying financial and business trends relating to our core, recurring results of operations and enhance comparability between periods. Adjusted EBITDA is considered by our board of directors and management as an important factor in determining performance-based compensation.

EBITDA and Adjusted EBITDA are not recognized measures under U.S. GAAP and are not intended to be a substitute for any U.S. GAAP financial measure and, as calculated, may not be comparable to other similarly-titled measures of performance of other companies. Investors should exercise caution in comparing our non-GAAP measures to any similarly titled measures used by other companies. These non-GAAP financial measures exclude certain items required by U.S. GAAP and should not be considered as alternatives to information reported in accordance with U.S. GAAP.

The table below presents our EBITDA and Adjusted EBITDA reconciled to the most comparable GAAP financial measures for the periods indicated:

    

Three Months Ended March 31, 

(in thousands)

    

2025

    

2024

Net income

$

9,248

$

6,928

Add back:

 

  

  

 

  

Depreciation and amortization

 

3,856

  

 

3,942

Interest expense

 

2,231

  

 

1,637

Provision for income taxes

 

3,360

  

 

1,970

EBITDA

$

18,695

  

$

14,477

Add back:

 

  

  

 

  

Restructuring and transaction costs(1)

 

698

  

 

4,837

Other (income) expense, net(2)

 

(1,287)

  

 

1,444

Stock-based compensation expense(3)

1,968

2,067

Stock-based compensation payroll tax expense(4)

92

393

LTIP bonus(5)

 

  

 

50

Amortization of inventory step-up(6)

769

Contingent consideration expense(7)

331

451

Adjusted EBITDA

$

20,497

  

$

24,488

(1)Reflects the “Restructuring and transaction costs” line item on our condensed consolidated statements of operations and comprehensive income, which primarily includes transaction costs composed of legal and consulting fees, and $1.8 million paid to Kanders & Company, Inc., a company controlled by our Chief Executive Officer, for services related to the acquisition of Alpha Safety, which is included in related party expense in the Company’s condensed consolidated statements of operations and comprehensive income for the three months ended March 31, 2024.
(2)Reflects the “Other income (expense), net” line item on our condensed consolidated statement of operations and comprehensive income, and primarily includes gains and losses due to fluctuations in foreign currency exchange rates.
(3)Reflects compensation expense related to equity classified stock-based compensation plans.
(4)Reflects payroll taxes associated with vested stock-based compensation awards.
(5)Reflects the cost of a cash-based long-term incentive plan awarded to employees that vests over three years.

30

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

(6)Reflects amortization expense related to the step-up inventory adjustment recorded as a result of our recent acquisitions.
(7)Reflects contingent consideration expense related to the acquisition of ICOR.

Adjusted EBITDA decreased by $4.0 million for the three months ended March 31, 2025 as compared to 2024, primarily due to lower sales volume partially offset by favorable pricing net of material inflation, favorable mix, and the absence of inventory step-up amortization.

LIQUIDITY AND CAPITAL RESOURCES

Liquidity refers to our ability to generate sufficient cash flows to meet the cash requirements of our business operations, including working capital needs, capital expenditures, debt service, acquisitions and other commitments. Our principal sources of liquidity have been cash provided by operating activities, cash on hand and amounts available under our revolving loans.

For the three months ended March 31, 2025, net cash provided by operating activities totaled $17.4 million and as of March 31, 2025, cash and cash equivalents totaled $133.4 million. We believe that our cash flows from operations and cash on hand, and available borrowing capacity under our existing credit facilities (as described below) will be adequate to meet our liquidity requirements for at least the 12 months following the date of this Quarterly Report on Form 10-Q. Our future capital requirements will depend on several factors, including future acquisitions and investments in our manufacturing facilities and equipment. We could be required, or could elect, to seek additional funding through public or private equity or debt financings; however, additional funds may not be available on terms acceptable to us, if at all.

Debt

As of March 31, 2025 and December 31, 2024, we had $220.5 million and $223.2 million in outstanding debt, net of debt discounts and debt issuance costs, respectively, primarily related to the term loan facilities.

2024 Credit Agreement

On December 20, 2024 (the “2024 Credit Agreement Closing Date”), the Company refinanced its existing credit facilities and entered into an Amended and Restated Credit Agreement (the “2024 Credit Agreement”), whereby Safariland, LLC, as borrower (the “2024 Borrower”), the Company, and certain domestic subsidiaries of the 2024 Borrower, as guarantors (the “2024 Guarantors”), closed on and received funding under the 2024 Credit Agreement with PNC, as administrative agent, swingline lender, and issuing lender, along with several other lenders (collectively, the “2024 Lenders”). The 2024 Credit Agreement amends and restates the 2021 Credit Agreement in its entirety.

Pursuant to the 2024 Credit Agreement, the 2024 Borrower (i) borrowed $225.0 million under a term loan facility (the “2024 Term Loans”), (ii) may borrow up to $175.0 million under a revolving credit facility (the “2024 Revolving Loan”), including up to $30.0 million for letters of credit and up to $10.0 million for swingline loans, (iii) may borrow up to $115.0 million under a delayed draw term loan A-1 facility (the “DDTL A-1 Facility”) available through June 20, 2025, and (iv) may borrow up to $75.0 million under a delayed draw term loan A-2 facility (the “DDTL A-2 Facility”) available through June 20, 2026. Each of these facilities matures on December 20, 2029. The proceeds of the 2024 Term Loans were used to refinance the outstanding term loans under the 2021 Credit Agreement and to pay fees and expenses incurred in connection with entering into the 2024 Credit Agreement. The 2024 Credit Agreement also permits the 2024 Borrower, subject to certain requirements, to arrange with lenders for an aggregate of $100.0 million (or more if certain leverage ratios are met) of additional revolving and/or term loan commitments (both of which are currently uncommitted).

The 2024 Borrower may elect to have borrowings under the 2024 Credit Agreement bear interest at either (i) a base rate plus an applicable margin ranging from 0.50% to 1.50% per annum or (ii) a term SOFR rate plus an applicable margin ranging from 1.50% to 2.50% per annum, in each case based on the Company’s consolidated total net leverage ratio. The 2024 Borrower is also required to

31

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

pay a commitment fee on the unused portion of the 2024 Revolving Loan, the DDTL A-1 Facility, and the DDTL A-2 Facility, ranging from 0.175% to 0.25% per annum, based on the Company’s consolidated total net leverage ratio.

The 2024 Term Loans require scheduled quarterly principal payments of 1.25% of the original aggregate principal amount, beginning March 31, 2025, with the balance due at maturity.

The 2024 Credit Agreement is guaranteed, jointly and severally, by the 2024 Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the 2024 Borrower and the 2024 Guarantors pursuant to an Amended and Restated Security and Pledge Agreement and an Amended and Restated Guaranty and Suretyship Agreement, each dated as of the 2024 Credit Agreement Closing Date.

The 2024 Credit Agreement contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the 2024 Borrower or any 2024 Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. Additionally, the 2024 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of 1.25 to 1.00, starting with the quarter ended December 31, 2024, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of 4.00 to 1.00 from the quarter ended December 31, 2024 until the quarter ended March 31, 2026, and thereafter 3.50 to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to 0.50 to 1.00 for four fiscal quarters following such acquisition, subject to a maximum consolidated total net leverage ratio of 4.00 to 1.00. Furthermore, the 2024 Credit Agreement also includes customary events of default, including non-payment of principal, interest, or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payments on other material indebtedness, bankruptcy and insolvency events, material judgments, and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2024 Credit Agreement may be accelerated, and the Lenders could foreclose on their security interests in the assets of the Borrower and the Guarantors. As of May 2, 2025, there were no amounts outstanding under the Revolving Loan.

The foregoing description of the 2024 Credit Agreement does not purport to be complete and is qualified in its entirety by reference to Exhibit 10.1 to our Current Report on Form 8-K filed on December 23, 2024, and is incorporated herein by reference as though fully set forth herein.

There were no amounts outstanding under the 2024 Revolving Loan as of March 31, 2025 and December 31, 2024. As of March 31, 2025, there were $2.2 million in outstanding letters of credit and $172.8 million of availability.

Canadian Credit Facility

On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10.0 million under a revolving line of credit (including up to $3.0 million for letters of credit) (the “Revolving Canadian Loan”). The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement.

The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable

32

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

margin for these borrowings will range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.

There were no amounts outstanding under the Revolving Canadian Loan as of March 31, 2025 and December 31, 2024.

The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated. As of May 2, 2025, there were no amounts outstanding under the Revolving Canadian Loan.

The foregoing description of the Canadian Loan Agreement does not purport to be complete and is qualified in its entirety by reference to the Canadian Loan Agreement, which is exhibit 10.18 to our Annual Report on Form 10-K for the year ended December 31, 2022, and is incorporated herein by reference as though fully set forth herein.

Cash Flows

The following table presents a summary of our cash flows for the periods indicated:

    

Three Months Ended March 31, 

(in thousands)

    

2025

    

2024

Net cash provided by operating activities

$

17,391

  

$

2,137

Net cash used in investing activities

 

(1,309)

  

 

(142,636)

Net cash (used in) provided by financing activities

 

(7,812)

  

 

139,786

Effects of foreign exchange rates on cash and cash equivalents

 

228

  

 

74

Change in cash and cash equivalents

 

8,498

  

 

(639)

Cash and cash equivalents, beginning of period

 

124,933

  

 

87,691

Cash and cash equivalents, end of period

$

133,431

  

$

87,052

Net cash provided by operating activities

During the three months ended March 31, 2025, net cash provided by operating activities of $17.4 million resulted primarily from net income of $9.2 million, a $3.9 million add-back to net income for depreciation and amortization, a $2.0 million add-back to net income for stock-based compensation, and a net add-back to net income of $1.6 million for changes in operating assets and liabilities. Changes in operating assets and liabilities were primarily driven by a decrease in accounts receivable of $10.6 million and an increase in inventories of $9.1 million.

During the three months ended March 31, 2024, net cash provided by operating activities of $2.1 million resulted primarily from net income of $6.9 million, a $3.9 million add back to net income for depreciation and amortization, a $2.1 million add-back to net income for stock-based compensation and a net deduction to net income of $15.2 million for changes in operating assets and liabilities. Changes in operating assets and liabilities were primarily driven by a decrease in accounts payable and other liabilities of $21.7 million, a decrease in accounts receivable of $2.7 million and a decrease in prepaid expenses and other assets of $2.0 million.

33

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

Net cash used in investing activities

During the three months ended March 31, 2025, we used $1.3 million of cash in investing activities for the purchase of property and equipment.

During the three months ended March 31, 2024, we used $142.6 million of cash in investing activities, primarily consisting of $141.3 million for the acquisition of ICOR and Alpha Safety.

Net cash (used in) provided by financing activities

During the three months ended March 31, 2025, we used $7.8 million of cash in financing activities, consisting of principal payments on term loans of $2.8 million, taxes paid in connection with employee stock transactions of $1.1 million and dividends distributed of $3.9 million.

During the three months ended March 31, 2024, net cash provided by financing activities of $139.8 million resulted primarily from proceeds from term loans of $80.0 million and proceeds from the secondary offering of $73.5 million, partially offset by taxes paid in connection with employee stock transactions of $5.3 million and dividends distributed of $3.3 million.

Contractual Obligations

Our long-term contractual obligations generally include our debt and related interest payments and operating and finance lease payments for our property and equipment, and are expected to be funded from cash-on-hand, cash from operations and availability under our existing credit facilities. There were no significant changes to our contractual obligations from those disclosed in the Quarterly Report on Form 10-Q for the three months ended March 31, 2024.

Off-Balance Sheet Arrangements

We do not engage in off-balance sheet financing arrangements, as defined in Item 303(a)(4)(ii) of Regulation S-K.

CRITICAL ACCOUNTING POLICIES AND SIGNIFICANT JUDGMENTS AND ESTIMATES

Our condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles, or U.S. GAAP. Preparation of the financial statements requires us to make judgments, estimates and assumptions that impact the reported amount of net sales and expenses, assets and liabilities and the disclosure of contingent assets and liabilities. We consider an accounting judgment, estimate or assumption to be critical when the estimate or assumption is complex in nature or requires a high degree of judgment and when the use of different judgments, estimates and assumptions could have a material impact on our condensed consolidated financial statements. While our significant accounting policies are described in more detail in notes in our condensed consolidated financial statements included elsewhere in this Quarterly Report on Form 10-Q, we believe that the following accounting policies are those most critical to the judgments and estimates used in the preparation of our financial statements.

There have been no significant changes to our critical accounting policies as described in our Annual Report on Form 10-K for the year ended December 31, 2024.

Recently Adopted and Issued Accounting Pronouncements

Recently issued and adopted accounting pronouncements are described in notes to our audited consolidated financial statements included elsewhere in this Quarterly Report on Form 10-Q.

34

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation, and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our condensed consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

We have in the past and may in the future be exposed to certain market risks, including interest rate, foreign currency exchange in the ordinary course of our business. Market risk represents the risk of loss that may impact our financial condition or results of operations due to adverse changes in financial market prices and rates. These risks are not significant to our results of operations, but they may be in the future. We do not hold or issue financial instruments for speculative or trading purposes. There have not been material changes in market risk exposures as of March 31, 2025.

Interest rate risk

Changes in interest rates affect the amount of interest expense we are required to pay on our floating rate debt. As of March 31, 2025, we had $222.2 million in outstanding floating rate debt, which bears interest at one-month SOFR (4.32% as of March 31, 2025) plus applicable margin.

We entered into the Swap Agreements to convert a portion of the interest rate exposure on our floating rate debt from variable to fixed and designated them as cash flow hedges. Under the terms of the Swap Agreements, we receive payments based on the 1-month SOFR. A portion of the amount included in accumulated other comprehensive loss is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.

We performed a sensitivity analysis on the principal amount of debt as of March 31, 2025, as well as the effect of our Swap Agreements. Further, in this sensitivity analysis, the change in interest rates is assumed to be applicable for an entire year. On an annual basis, a change of 100 basis points in the applicable interest rate would cause a change in interest expense of $2.2 million on the principal amount of debt and a $0.6 million change in interest expense when including the effect of our Swap Agreements.

As of March 31, 2025, we had the following Swap Agreements (in thousands):

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

82,500

0.812

%

May 31, 2023 through July 23, 2026

$

45,000

    

3.905

%

February 14, 2025 through December 20, 2029

    

$

38,883

    

4.080

%

During the three months ended March 31, 2025, there were no interest rate swap agreements that expired.

35

Table of Contents

CADRE HOLDINGS, INC.

MANAGEMENT DISCUSSION AND ANALYSIS

(in thousands, except share and per share amounts)

Foreign currency exchange rate risk

Our operations are geographically diverse and we are exposed to foreign currency exchange risk, primarily the Canadian dollar and Mexican peso, related to our transactions and our subsidiaries’ balances that are denominated in currencies other than the U.S. dollar, our functional currency.

The Company has entered into forward contracts to hedge forecasted Mexican peso denominated costs associated with our Mexican subsidiary. These contracts are designated as cash flow hedges to manage foreign currency transaction risk and are measured at fair value and reported as current assets or current liabilities in the condensed consolidated balance sheets. Any changes in the fair value of designated cash flow hedges are recorded in other comprehensive (loss) income and are reclassified from accumulated other comprehensive loss into earnings in the period the hedged item impacts earnings.

Significant currency fluctuations could impact the comparability of our results of operations between periods. A 10% increase or decrease in the value of the Canadian dollar to the U.S. dollar would have caused our reported net sales to increase or decrease by approximately $0.9 million for the three months ended March 31, 2025. A 10% increase or decrease in the value of the Canadian dollar to the U.S. dollar would have caused our reported net income to increase or decrease by approximately $0.1 million for the three months ended March 31, 2025, excluding unrealized gains or losses from remeasurement. A 10% increase or decrease in the value of the Mexican peso to the U.S. dollar would have caused our reported net income to increase or decrease by approximately $0.5 million for the three months ended March 31, 2025, respectively, excluding unrealized gains or losses from remeasurement and the impact of cash flow hedges.

ITEM 4. CONTROLS AND PROCEDURES

Evaluation of Disclosure Controls and Procedures

The Company’s management carried out an evaluation, under the supervision and with the participation of the Company’s Chief Executive Officer and Chief Financial Officer, its principal executive officer and principal financial officer, respectively, of the effectiveness of the design and operation of the Company’s disclosure controls and procedures (as such term is defined in Rules 13a-15(c) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (“Exchange Act”)) as of March 31, 2025, pursuant to Exchange Act Rule 13a-15. Such disclosure controls and procedures are designed to ensure that information required to be disclosed by the Company in reports we file or submit under the Exchange Act is (i) recorded, processed, summarized, evaluated and reported, as applicable, within the time periods specified in the SEC’s rules and forms, and (ii) accumulated and communicated to the appropriate management on a basis that permits timely decisions regarding disclosure. Based upon that evaluation, the Company’s Chief Executive Officer and Chief Financial Officer concluded that the Company’s disclosure controls and procedures as of March 31, 2025 were effective.

Changes in Internal Control over Financial Reporting

There has been no change in our internal control over financial reporting that occurred during the three months ended March 31, 2025, that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

Limitations on Effectiveness of Controls and Procedures

Our management, including our principal executive officer and principal financial officer, does not expect that our disclosure controls can prevent all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. There are inherent limitations in all control systems, including the realities that judgments in decision-making can be faulty and that breakdowns can occur because of simple error or mistake. Additionally, controls can be circumvented by the individual acts of one or more persons. The design of any system of controls also is based in part upon certain assumptions about the likelihood of future events and there can be no assurance that any design will succeed in achieving its stated goals under all potential conditions. Because of the inherent limitations in any control system, misstatements due to error or fraud may occur and not be detected.

36

PART II. OTHER INFORMATION

ITEM 1. LEGAL PROCEEDINGS

Refer to Note 8 of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q, which is incorporated herein by reference.

ITEM 1A. RISK FACTORS

There have been no material changes in our risk factors from those disclosed in Part I, Item 1A. of the Company’s Annual Report on Form 10-K for the year ended December 31, 2024.

ITEM 5. OTHER INFORMATION

On March 13, 2025, Warren B. Kanders, the Company’s Chief Executive Officer and Chairman of the Board of Directors, terminated a stock trading plan that had been adopted on December 22, 2024, in accordance with Rule 10b5-1 under the Securities Exchange Act of 1934, as amended. As previously disclosed in the Company’s Annual Report on Form 10-K for the year ended December 31, 2024, the trading plan provided for the potential sale of up to 1,000,000 shares of the Company’s common stock, and was scheduled to expire September 30, 2025. No shares were sold under the plan prior to its termination, and no further transactions will occur pursuant to the terminated plan.

During the three months ended March 31, 2025, no other director or officer of the Company adopted or terminated a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408 of Regulation S-K, nor did the Company during such fiscal quarter adopt or terminate any “Rule 10b5-1 trading arrangement”.

37

ITEM 6. EXHIBITS

Exhibit 
No.

    

Description

2.1

Share Purchase Agreement, by and among Cadre Holdings, Inc., Zircaloy Holdings, LLC and Carr’s Group Plc, dated January 15, 2025 (incorporated by reference to Exhibit 2.1 to the Company’s Current Report on Form 8-K, filed on January 21, 2025).

10.1

Employment Agreement, dated as of January 24, 2025, between Cadre Holdings, Inc. and Brad Williams (incorporated by reference to Exhibit 10.1 to the Company’s Current Report on Form 8-K, filed on January 27, 2025).

10.2

Employment Agreement, dated as of January 24, 2025, between Cadre Holdings, Inc. and Blaine Browers (incorporated by reference to Exhibit 10.2 to the Company’s Current Report on Form 8-K, filed on January 27, 2025).

31.1*

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

31.2*

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

32.1**

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

32.2**

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

101.INS

Inline XBRL Instance Document

101.SCH

Inline XBRL Taxonomy Extension Schema Document

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document

104

Cover Page Interactive Data File (embedded within the Inline XBRL document)

*

Filed herewith

**

Furnished herewith. The certifications attached as Exhibits 32.1 and 32.2 that accompany this Quarterly Report on Form 10-Q are deemed furnished and not filed with the Securities and Exchange Commission and are not to be incorporated by reference into any filing of the Company under the Securities Act or the Exchange Act, whether made before or after the date of this Quarterly Report on Form 10-Q, irrespective of any general incorporation language contained in such filing.

38

SIGNATURES

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

CADRE HOLDINGS, INC.

Date: May 6, 2025

By:

/s/ Warren B. Kanders

Name:

Warren B. Kanders

Title:

Chief Executive Officer

(Principal Executive Officer)

Date: May 6, 2025

By:

/s/ Blaine Browers

Name:

Blaine Browers

Title:

Chief Financial Officer

(Principal Financial Officer and Principal Accounting Officer)

39

EX-31.1 2 cdre-20250331xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER

I, Warren B. Kanders, certify that:

1. I have reviewed this Quarterly Report on Form 10-Q of Cadre Holdings, Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant's other certifying officer(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: May 6, 2025

By:

/s/ Warren B. Kanders

Name:

Warren B. Kanders

Title:

Chief Executive Officer

 

(Principal Executive Officer)


EX-31.2 3 cdre-20250331xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER

I, Blaine Browers, certify that:

1. I have reviewed this Quarterly Report on Form 10-Q of Cadre Holdings, Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant's other certifying officer(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: May 6, 2025

By:

/s/ Blaine Browers

Name:

Blaine Browers

Title:

Chief Financial Officer

 

(Principal Financial Officer)


EX-32.1 4 cdre-20250331xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of Cadre Holdings, Inc. (the “Company”) on Form 10-Q for the period ended March 31, 2025 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Warren B. Kanders, Chief Executive Officer, certify to my knowledge, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 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.

A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

2

Date: May 6, 2025

By:

/s/ Warren B. Kanders

Name:

Warren B. Kanders

Title:

Chief Executive Officer

 

(Principal Executive Officer)


EX-32.2 5 cdre-20250331xex32d2.htm EX-32.2

Exhibit 32.2

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of Cadre Holdings, Inc. (the “Company”) on Form 10-Q for the period ended March 31, 2025 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Blaine Browers, Chief Financial Officer, certify to my knowledge, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 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.

A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

Date: May 6, 2025

By:

/s/ Blaine Browers

Name:

Blaine Browers

Title:

Chief Financial Officer

 

(Principal Financial Officer)


EX-101.SCH 6 cdre-20250331.xsd EX-101.SCH 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00201 - Statement - Consolidated Statements of Operations and Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 99940201 - Disclosure - ACQUISITIONS - Summary - ICOR (Details) link:presentationLink link:calculationLink link:definitionLink 99940205 - Disclosure - ACQUISITIONS - Summary - Alpha Safety (Details) link:presentationLink link:calculationLink link:definitionLink 99940206 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Alpha Safety (Details) link:presentationLink link:calculationLink link:definitionLink 99940401 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 99940505 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940601 - Disclosure - DEBT - Schedule of company's debt (Details) link:presentationLink link:calculationLink link:definitionLink 99940602 - Disclosure - DEBT - Summary of aggregate principal payment of long-term debt (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - GOODWILL AND OTHER INTANGIBLES - Summary of intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 99941001 - Disclosure - LEASES - Schedule of operating assets and liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99941002 - Disclosure - LEASES - Components of lease expense (Details) link:presentationLink link:calculationLink link:definitionLink 99941004 - Disclosure - LEASES - Future minimum lease payments under operating leases (Details) link:presentationLink link:calculationLink link:definitionLink 41009 - Disclosure - Leases - Future Minimum Lease Payments (Details) Calc 2 link:presentationLink link:calculationLink link:definitionLink 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 99930203 - Disclosure - ACQUISITIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 99940101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Secondary Offering (Details) link:presentationLink link:calculationLink link:definitionLink 99940103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Assets and liabilities measured at fair value on a recurring basis (Details) link:presentationLink link:calculationLink link:definitionLink 99940105 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) link:presentationLink link:calculationLink link:definitionLink 99940202 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - ICOR (Details) link:presentationLink link:calculationLink link:definitionLink 99940203 - Disclosure - ACQUISITIONS - Intangible Assets and Contingent Consideration - ICOR (Details) link:presentationLink link:calculationLink link:definitionLink 99940204 - Disclosure - ACQUISITIONS - Changes in the contingent consideration liability - ICOR (Details) link:presentationLink link:calculationLink link:definitionLink 99940207 - Disclosure - ACQUISITIONS - Intangible Assets - Alpha Safety (Details) link:presentationLink link:calculationLink link:definitionLink 99940301 - Disclosure - REVENUE RECOGNITION - Net sales by channel and geography (Details) link:presentationLink link:calculationLink link:definitionLink 99940302 - Disclosure - REVENUE RECOGNITION - Includes all Distribution sales (Details) link:presentationLink link:calculationLink link:definitionLink 99940304 - Disclosure - REVENUE RECOGNITION - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 40304 - Disclosure - REVENUE RECOGNITION - Additional information Default (Details) link:presentationLink link:calculationLink link:definitionLink 99940501 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 99940503 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940603 - Disclosure - DEBT - 2024 Credit Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 99940604 - Disclosure - DEBT - Canadian Credit Facility (Details) link:presentationLink link:calculationLink link:definitionLink 99940701 - Disclosure - DERIVATIVE INSTRUMENTS - Schedule of Interest Rate Swaps (Details) link:presentationLink link:calculationLink link:definitionLink 99940702 - Disclosure - DERIVATIVE INSTRUMENTS -Schedule of Fair Value Swap Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 99940703 - Disclosure - DERIVATIVE INSTRUMENTS - Cash Flow Hedges (Details) link:presentationLink link:calculationLink link:definitionLink 99941101 - Disclosure - RELATED PARTY TRANSACTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 99941202 - Disclosure - SEGMENT DATA - Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 99941301 - Disclosure - SUBSEQUENT EVENTS (Details) link:presentationLink link:calculationLink link:definitionLink 995200090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995200205 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995210101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 995210201 - Disclosure - ACQUISITIONS link:presentationLink link:calculationLink link:definitionLink 995210301 - Disclosure - REVENUE RECOGNITION link:presentationLink link:calculationLink link:definitionLink 995210401 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 995210501 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 995210601 - Disclosure - DEBT link:presentationLink link:calculationLink link:definitionLink 995210701 - Disclosure - DERIVATIVE INSTRUMENTS link:presentationLink link:calculationLink link:definitionLink 995210801 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 995210901 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 995211001 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 995211101 - Disclosure - RELATED PARTY TRANSACTIONS link:presentationLink link:calculationLink link:definitionLink 995211201 - Disclosure - SEGMENT DATA link:presentationLink link:calculationLink link:definitionLink 995211301 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 99920102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 99930103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 99930303 - Disclosure - REVENUE RECOGNITION (Tables) link:presentationLink link:calculationLink link:definitionLink 99930403 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 99930503 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930603 - Disclosure - DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 99930703 - Disclosure - DERIVATIVE INSTRUMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 99931003 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 99931203 - Disclosure - SEGMENT DATA (Tables) link:presentationLink link:calculationLink link:definitionLink 99940104 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) link:presentationLink link:calculationLink link:definitionLink 99940303 - Disclosure - REVENUE RECOGNITION - Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940502 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 99940504 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 99940901 - Disclosure - INCOME TAXES (Details) link:presentationLink link:calculationLink link:definitionLink 99941003 - Disclosure - LEASES - Weighted average remaining lease term and discount rate (Details) link:presentationLink link:calculationLink link:definitionLink 99941005 - Disclosure - LEASES - Supplemental cash flow information related to leases (Details) link:presentationLink link:calculationLink link:definitionLink 99941201 - Disclosure - SEGMENT DATA - Other (Details) link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 cdre-20250331_cal.xml EX-101.CAL EX-101.DEF 8 cdre-20250331_def.xml EX-101.DEF EX-101.LAB 9 cdre-20250331_lab.xml EX-101.LAB EX-101.PRE 10 cdre-20250331_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.25.1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2025
May 02, 2025
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2025  
Document Transition Report false  
Securities Act File Number 001-40698  
Entity Registrant Name CADRE HOLDINGS, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 38-3873146  
Entity Address, Postal Zip Code 32218  
Entity Address, Address Line One 13386 International Pkwy  
Entity Address, City or Town Jacksonville,  
Entity Address, State or Province FL  
City Area Code 904  
Local Phone Number 741-5400  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol CDRE  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company true  
Entity Ex Transition Period false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   40,659,585
Entity Central Index Key 0001860543  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2025  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
Current assets    
Cash and cash equivalents $ 133,431 $ 124,933
Accounts receivable, net of allowance for doubtful accounts of $858 and $876, respectively 82,902 93,523
Inventories 91,786 82,351
Prepaid expenses 17,039 19,027
Other current assets 7,357 7,737
Total current assets 332,515 327,571
Property and equipment, net of accumulated depreciation and amortization of $56,244 and $54,384, respectively 45,080 45,243
Operating lease assets 15,595 15,454
Deferred tax assets, net 4,640 4,552
Intangible assets, net 105,884 107,544
Goodwill 148,611 148,157
Other assets 3,968 4,192
Total assets 656,293 652,713
Current liabilities    
Accounts payable 32,122 29,644
Accrued liabilities 41,604 46,413
Income tax payable 8,560 6,693
Current portion of long-term debt 11,380 11,375
Total current liabilities 93,666 94,125
Long-term debt 209,134 211,830
Long-term operating lease liabilities 10,983 10,733
Deferred tax liabilities 18,101 18,758
Other liabilities 6,847 5,752
Total liabilities 338,731 341,198
Commitments and contingencies (Note 8)
Mezzanine equity    
Preferred stock ($0.0001 par value, 10,000,000 shares authorized, no shares issued and outstanding as of March 31, 2025 and December 31, 2024)
Shareholders' equity    
Common stock ($0.0001 par value, 190,000,000 shares authorized, 40,659,585 and 40,607,988 shares issued and outstanding as of March 31, 2025 and December 31, 2024, respectively) 4 4
Additional paid-in capital 307,625 306,821
Accumulated other comprehensive loss (1,535) (1,389)
Accumulated earnings 11,468 6,079
Total shareholders' equity 317,562 311,515
Total liabilities, mezzanine equity and shareholders' equity $ 656,293 $ 652,713
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
CONDENSED CONSOLIDATED BALANCE SHEETS    
Accounts receivable, allowance for doubtful accounts $ 858 $ 876
Property and equipment, accumulated depreciation and amortization $ 56,244 $ 54,384
Preferred stock, par value $ 0.0001 $ 0.0001
Preferred stock, shares authorized 10,000,000 10,000,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 190,000,000 190,000,000
Common stock, shares issued 40,659,585 40,607,988
Common stock, shares outstanding 40,659,585 40,607,988
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME    
Net sales $ 130,106 $ 137,860
Cost of goods sold 73,975 80,232
Gross profit 56,131 57,628
Operating expenses    
Selling, general and administrative 41,753 40,719
Restructuring and transaction costs 698 3,087
Related party expense 128 1,843
Total operating expenses 42,579 45,649
Operating income 13,552 11,979
Other expense    
Interest expense (2,231) (1,637)
Other income (expense), net 1,287 (1,444)
Total other expense, net (944) (3,081)
Income before provision for income taxes 12,608 8,898
Provision for income taxes (3,360) (1,970)
Net income $ 9,248 $ 6,928
Net income per share:    
Basic $ 0.23 $ 0.18
Diluted $ 0.23 $ 0.18
Weighted average shares outstanding:    
Basic 40,618,554 37,946,576
Diluted 40,980,861 38,554,185
Net income $ 9,248 $ 6,928
Other comprehensive income:    
Unrealized holding (losses) gains on derivative instruments, net of tax (750) 1,660
Reclassification adjustments for gains included in net income, net of tax (263) (894)
Total unrealized (loss) gain on derivative instruments, net of tax (1,013) 766
Foreign currency translation adjustments, net of tax 867 (412)
Other comprehensive (loss) income (146) 354
Comprehensive income, net of tax $ 9,102 $ 7,282
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME    
Unrealized holding gains (losses) on derivative instruments, income tax expense $ 250 $ 546
Reclassification adjustments for gains included in net income, income tax expense 190 284
Foreign currency translation adjustments, income tax expense $ 119 $ 99
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Cash Flows From Operating Activities:    
Net income $ 9,248 $ 6,928
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 3,856 3,942
Amortization of original issue discount and debt issue costs 500 149
Amortization of inventory step-up   769
Deferred income taxes 533 1,546
Stock-based compensation 1,968 2,067
Remeasurement of contingent consideration 331 451
(Recoveries from) provision for losses on accounts receivable (17) 480
Unrealized foreign exchange transaction (gain) loss (731) 934
Other loss (gain) 41 52
Changes in operating assets and liabilities, net of impact of acquisitions:    
Accounts receivable 10,633 2,696
Inventories (9,143) 1,818
Prepaid expenses and other assets 1,340 2,028
Accounts payable and other liabilities (1,168) (21,723)
Net cash provided by operating activities 17,391 2,137
Cash Flows From Investing Activities:    
Purchase of property and equipment (1,309) (1,343)
Business acquisitions, net of cash acquired   (141,293)
Net cash used in investing activities (1,309) (142,636)
Cash Flows From Financing Activities:    
Proceeds from revolving credit facilities   5,500
Principal payments on revolving credit facilities   (5,500)
Proceeds from term loans   80,000
Principal payments on term loans (2,813) (2,500)
Principal payments on insurance premium financing   (1,083)
Payments for debt issuance costs   (844)
Taxes paid in connection with employee stock transactions (1,140) (5,311)
Proceeds from secondary offering, net of underwriter discounts   73,535
Deferred offering costs   (722)
Dividends distributed (3,859) (3,289)
Net cash (used in) provided by financing activities (7,812) 139,786
Effect of foreign exchange rates on cash and cash equivalents 228 74
Change in cash and cash equivalents 8,498 (639)
Cash and cash equivalents, beginning of period 124,933 87,691
Cash and cash equivalents, end of period 133,431 87,052
Supplemental Disclosure of Cash Flows Information:    
Cash paid for income taxes, net 2,017 9,369
Cash paid for interest 3,527 2,498
Supplemental Disclosure of Non-Cash Investing and Financing Activities:    
Accruals and accounts payable for capital expenditures 104 $ 210
Accruals for taxes paid in connection with employee stock transactions $ 24  
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-In Capital
Accumulated Other Comprehensive Income (Loss)
Accumulated Earnings/(Deficit)
Total
Balance at the beginning at Dec. 31, 2023 $ 4 $ 212,630 $ 634 $ (16,106) $ 197,162
Balance at the beginning (in shares) at Dec. 31, 2023 37,587,436        
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income       6,928 6,928
Dividends declared       (3,289) (3,289)
Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs   72,813     72,813
Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs (in shares) 2,200,000        
Stock-based compensation   2,044     2,044
Common stock issued under employee compensation plans (in shares) 423,688        
Common stock withheld related to net share settlement of stock-based compensation   (5,311)     (5,311)
Common stock withheld related to net share settlement of stock-based compensation (in shares) (150,680)        
Foreign currency translation adjustments     (412)   (412)
Change in fair value of derivative instruments     766   766
Balance at the end at Mar. 31, 2024 $ 4 282,176 988 (12,467) 270,701
Balance at the end (in shares) at Mar. 31, 2024 40,060,444        
Balance at the beginning at Dec. 31, 2024 $ 4 306,821 (1,389) 6,079 $ 311,515
Balance at the beginning (in shares) at Dec. 31, 2024 40,607,988       40,607,988
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income       9,248 $ 9,248
Dividends declared       (3,859) (3,859)
Stock-based compensation   1,968     1,968
Common stock issued under employee compensation plans (in shares) 86,006        
Common stock withheld related to net share settlement of stock-based compensation   (1,164)     (1,164)
Common stock withheld related to net share settlement of stock-based compensation (in shares) (34,409)        
Foreign currency translation adjustments     867   867
Change in fair value of derivative instruments     (1,013)   (1,013)
Balance at the end at Mar. 31, 2025 $ 4 $ 307,625 $ (1,535) $ 11,468 $ 317,562
Balance at the end (in shares) at Mar. 31, 2025 40,659,585       40,659,585
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.25.1
CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY    
Dividend declared (in dollars per share) $ 0.095 $ 0.0875
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES
3 Months Ended
Mar. 31, 2025
SIGNIFICANT ACCOUNTING POLICIES  
SIGNIFICANT ACCOUNTING POLICIES

1.    SIGNIFICANT ACCOUNTING POLICIES

Nature of Operations and Basis of Presentation

Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 20 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France, and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.

Principles of Consolidation

The accompanying condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles ("GAAP" or “U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting, and include the accounts of the Company, its wholly owned subsidiaries, and other entities consolidated as required by GAAP. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited financial statements. The unaudited condensed consolidated interim financial statements have been prepared on a basis consistent with the audited consolidated financial statements and include all adjustments, which are normal and recurring in nature, necessary for fair financial statement presentation. These condensed consolidated interim financial statements and notes thereto should be read in conjunction with the Company’s most recently completed annual consolidated financial statements. All adjustments considered necessary for a fair presentation have been included. All intercompany balances and transactions have been eliminated in consolidation.

Secondary Offering

On March 19, 2024, the Company completed a secondary offering in which the Company issued and sold 2,200,000 shares of common stock at a price of $35.00 per share. The Company’s net proceeds from the sale of shares were $72,813 after underwriter discounts and commissions, fees and expenses of $4,187.

On April 1, 2024, the underwriters exercised the full amount of their over-allotment option and purchased an additional 545,719 shares of common stock at a price of $35.00 per share, resulting in net proceeds to the Company of $18,280 after underwriter discounts and commissions, fees and expenses of $820.

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation, and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our condensed consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

Use of Estimates

The preparation of these condensed consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.

Fair Value Measurements

The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, Fair Value Measurements and Disclosures, which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:

Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.

Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.

Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.

The Company’s financial instruments consist principally of cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.

The following table presents our fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis:

March 31, 2025

December 31, 2024

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Money market funds

$

26,370

$

26,370

$

$

$

110,671

$

110,671

$

$

Derivative instruments (Note 7)

$

3,095

$

$

3,095

$

$

4,465

$

$

4,465

$

Liabilities:

Derivative instruments (Note 7)

$

843

$

$

843

$

$

$

$

$

Contingent consideration (Note 2)

$

3,559

$

$

$

3,559

$

3,211

$

$

$

3,211

There were no transfers of assets or liabilities between levels during the three months ended March 31, 2025 and 2024.

There have not been material changes in the fair value of debt (Level 2), as compared to the carrying value, as of March 31, 2025 and December 31, 2024.

Revenue Recognition

The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the

performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.

The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.

The Company has certain long-term contracts that contain performance obligations that are satisfied over time. The Company invoices the customer once the billing milestone is reached and collects under customary short-term credit terms. For long-term contracts, the Company recognizes revenue using the input method based on costs incurred, as this method is an appropriate measure of progress toward the complete satisfaction of the performance obligation. Due to uncertainties inherent in the estimation process, it is possible that estimates of costs to complete a performance obligation will be revised in the near-term. For those performance obligations for which revenue is recognized using a cost-to-cost input method, changes in total estimated costs, and related progress towards complete satisfaction of the performance obligation, are recognized on a cumulative catch-up basis in the period in which the revisions to the estimates are made. When the current estimate of total costs for a performance obligation indicates a loss, a provision for the entire estimated loss on the unsatisfied performance obligation is made in the period in which the loss becomes evident.

At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.

Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying condensed consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.

Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s condensed consolidated statements of operations and comprehensive income.

Product Warranty

Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements, and is recorded in cost of goods sold in the Company’s condensed consolidated statements of operations and comprehensive income.

The following table sets forth the changes in the Company’s accrued warranties, which are recorded in accrued liabilities in the condensed consolidated balance sheets:

Three Months Ended March 31, 

    

2025

    

2024

Beginning accrued warranty expense

$

1,760

$

1,610

Current period claims

 

(74)

 

(116)

Provision for current period sales

 

8

 

57

Ending accrued warranty expense

$

1,694

$

1,551

Net Income per Share

Basic income per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. Diluted income per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method. The calculation of weighted average shares outstanding and net income per share are as follows:

    

Three months ended March 31, 

    

2025

    

2024

Net income

$

9,248

$

6,928

 

  

 

  

Weighted average shares outstanding - basic

 

40,618,554

 

37,946,576

Effect of dilutive securities:

Stock-based awards

362,307

607,609

Weighted average shares outstanding - diluted

 

40,980,861

 

38,554,185

Net income per share:

 

  

 

  

Basic

$

0.23

$

0.18

Diluted

$

0.23

$

0.18

For the three months ended March 31, 2025 and 2024, equity awards of 776,215 and 328,474, respectively, were outstanding and anti-dilutive and therefore not included in the calculation of net income per share for these periods.

Recent Accounting Pronouncements

Accounting Pronouncements Not Yet Adopted

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires a public entity to disclose in its rate reconciliation table additional categories of information about federal, state and foreign income taxes and provide more details about the reconciling items in some categories if items meet a quantitative threshold. The guidance will require all entities to disclose income taxes paid, net of refunds, disaggregated by federal (national), state and foreign taxes for annual periods and to disaggregate the information by jurisdiction based on a quantitative threshold. The guidance makes several other changes to the disclosure requirements. All entities are required to apply the guidance prospectively, with the option to apply it retrospectively. The guidance is effective for public business entities for fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the enhanced disclosure requirements, however, we do not anticipate a material change to our financial position, results of operations or cash flows.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS
3 Months Ended
Mar. 31, 2025
ACQUISITIONS  
ACQUISITIONS

2.    ACQUISITIONS

ICOR Acquisition

On January 9, 2024, Med-Eng, ULC, a wholly-owned subsidiary of the Company, completed the acquisition of ICOR Technology Inc. (“ICOR”), a trusted global supplier of high-quality, reliable, innovative, and cost-effective explosive ordnance disposal robots.

Total consideration, net of cash acquired, was $39,282 for 100% of the equity interests in ICOR. The total consideration was as follows:

Cash paid

    

$

40,350

Less: cash acquired

(1,068)

Plus: Contingent consideration

2,226

Total consideration, net

$

41,508

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the ICOR acquisition is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

41,508

Accounts receivable

$

2,352

Inventories

8,086

Prepaid expenses and other current assets

612

Property and equipment

239

Operating lease assets

1,369

Intangible assets

17,200

Goodwill

18,602

Total assets acquired

48,460

Accounts payable

635

Accrued liabilities

1,455

Long-term operating lease liabilities

967

Deferred tax liabilities

3,895

Total liabilities assumed

6,952

Net assets acquired

$

41,508

In connection with the acquisition, the Company acquired exclusive rights to ICOR’s trademarks, customer relationships, and product technologies. The amounts assigned to each class of intangible asset and the related average useful lives are as follows:

    

Gross

    

Average Useful Life

Customer relationships

$

1,496

10

Technology

14,283

 

10

Trademarks

1,421

10

Total

$

17,200

The full amount of goodwill of $18,602 is expected to be non-deductible for tax purposes.

As part of the ICOR acquisition, the purchase agreement with respect to the acquisition provided for the payment of contingent consideration of up to CDN$8,000 (approximately $5,797) based upon future cumulative net sales during the three-year period ended January 9, 2027. Using a Monte-Carlo pricing model, the Company estimated the fair value of the contingent consideration to be $2,225 as of January 9, 2024. Significant unobservable inputs used in the valuation include a discount rate of 6.2% and the probability adjusted net sales during the contingency period. The contingent consideration liability is remeasured at the estimated fair value at the end of each reporting period with the change in fair value recognized within operating income in the condensed consolidated statements of operations and comprehensive income for such period. We measure the initial liability and remeasure the liability on a recurring basis using Level 3 inputs as defined under authoritative guidance for fair value measurements.

As the contingent consideration liability is remeasured to fair value each reporting period, significant increases or decreases in projected sales, discount rates or the time until payment is made could result in a significantly lower or higher fair value measurement. Our determination of fair value of the contingent consideration liabilities could change in future periods based on our ongoing evaluation of these significant unobservable inputs.

The following table summarizes the changes in the contingent consideration liability for the three months ended March 31, 2025:

Balance, December 31, 2024

$

3,211

Fair value adjustment

331

Foreign currency translation adjustments

 

17

Balance, March 31, 2025

$

3,559

Alpha Safety Acquisition

On February 29, 2024, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Alpha Safety Intermediate, LLC (“Alpha Safety”), a provider of highly engineered technical products and services spanning the nuclear value chain.

Total consideration, net of cash acquired, was $102,531 for 100% of the equity interests in Alpha Safety. The total consideration was as follows:

Cash paid

    

$

107,138

Less: cash acquired

 

(4,607)

Total consideration, net

$

102,531

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Alpha Safety acquisition is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

102,531

Accounts receivable

$

9,189

Inventories

8,527

Prepaid expenses and other current assets

1,889

Property and equipment

2,189

Operating lease assets

2,262

Intangible assets

57,800

Goodwill

49,133

Total assets acquired

130,989

Accounts payable

1,896

Accrued liabilities

12,570

Long-term operating lease liabilities

1,573

Deferred tax liabilities

12,419

Total liabilities assumed

28,458

Net assets acquired

$

102,531

In connection with the acquisition, the Company acquired exclusive rights to Alpha Safety’s trademarks, customer relationships, and product technologies. The amounts assigned to each class of intangible asset and the related average useful lives are as follows:

    

Gross

    

Average Useful Life

Customer relationships

$

17,900

20

Technology

35,200

 

15

Trademarks

4,700

10

Total

$

57,800

The full amount of goodwill of $49,133 is expected to be non-deductible for tax purposes.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.25.1
REVENUE RECOGNITION
3 Months Ended
Mar. 31, 2025
REVENUE RECOGNITION  
REVENUE RECOGNITION

3.    REVENUE RECOGNITION

The following tables disaggregate net sales by channel and geography:

Three Months Ended March 31, 

    

2025

    

2024

U.S. state and local agencies (a)

$

73,409

$

74,992

Commercial

 

11,019

 

11,265

U.S. federal agencies

 

21,484

 

21,186

International

 

22,881

 

29,437

Other

 

1,313

 

980

Net sales

$

130,106

$

137,860

(a) Includes all Distribution sales

Three Months Ended March 31, 

    

2025

    

2024

United States

$

107,225

$

108,423

International

 

22,881

 

29,437

Net sales

$

130,106

$

137,860

Revenue by product is not disclosed, as it is impractical to do so.

Contract Assets and Liabilities

Contract assets represent unbilled amounts resulting from certain long-term contracts that contain performance obligations that are satisfied over time. In these contracts, the revenue recognized exceeds the amount billed to the customer. Contract assets are included in accounts receivable, net in the Company’s condensed consolidated balance sheets and totaled $15,300 and $9,550 as of March 31, 2025 and December 31, 2024, respectively.

Contract liabilities are recorded as a component of other liabilities when customers are billed or remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s condensed consolidated balance sheets and totaled $5,924 and $7,470 as of March 31, 2025 and December 31, 2024, respectively. Revenue recognized during the three months ended March 31, 2025 from amounts included in contract liabilities as of December 31, 2024 was $2,107.

Remaining Performance Obligations

As of March 31, 2025, we had $42,481 of remaining unfulfilled performance obligations, which include amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under ASC Topic 606, Revenue from Contracts with Customers, as of March 31, 2025. We expect to recognize approximately 64% of this balance over the next twelve months and expect the remainder to be recognized in the following two years.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.25.1
INVENTORIES
3 Months Ended
Mar. 31, 2025
INVENTORIES  
INVENTORIES

4.    INVENTORIES

The following table sets forth a summary of inventories, stated at lower of cost or net realizable value, as of March 31, 2025 and December 31, 2024:

March 31, 2025

December 31, 2024

Finished goods

$

36,395

$

31,209

Work-in-process

 

9,904

 

8,321

Raw materials and supplies

 

45,487

 

42,821

Total

$

91,786

$

82,351

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS
3 Months Ended
Mar. 31, 2025
GOODWILL AND OTHER INTANGIBLE ASSETS  
GOODWILL AND OTHER INTANGIBLE ASSETS

5.    GOODWILL AND OTHER INTANGIBLE ASSETS

Goodwill

The following table summarizes the changes in goodwill for the three months ended March 31, 2025:

    

Product

    

Distribution

    

Total

Balance, December 31, 2024

$

145,541

$

2,616

$

148,157

Foreign currency translation adjustments

 

454

 

 

454

Balance, March 31, 2025

$

145,995

$

2,616

$

148,611

Gross goodwill and accumulated impairment losses were $156,196 and $7,585, respectively, as of March 31, 2025 and $155,742 and $7,585, respectively, as of December 31, 2024.

Intangible Assets

Intangible assets such as certain customer relationships and patents on core technologies and product technologies are amortizable over their estimated useful lives. Certain trade names and trademarks which provide exclusive and perpetual rights to manufacture and sell their respective products are deemed indefinite-lived and are therefore not subject to amortization.

Intangible assets consisted of the following as of March 31, 2025 and December 31, 2024:

March 31, 2025

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite-lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

105,602

 

$

(70,183)

 

$

35,419

 

17

Technology

 

64,744

 

 

(16,956)

 

 

47,788

 

13

Tradenames

 

12,683

 

 

(7,177)

 

 

5,506

 

9

Non-compete agreements

 

1,012

 

 

(1,012)

 

 

 

-

$

184,041

 

$

(95,328)

 

$

88,713

Indefinite-lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,171

 

 

 

 

17,171

 

Indefinite

Total

$

201,212

 

$

(95,328)

 

$

105,884

 

  

December 31, 2024

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite-lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

105,060

 

$

(69,118)

 

$

35,942

 

17

Technology

 

64,600

 

 

(15,819)

 

 

48,781

 

13

Tradenames

 

12,596

 

 

(6,941)

 

 

5,655

 

9

Non-compete agreements

 

996

 

 

(996)

 

 

 

-

$

183,252

 

$

(92,874)

 

$

90,378

Indefinite-lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,166

 

 

 

 

17,166

 

Indefinite

Total

$

200,418

 

$

(92,874)

 

$

107,544

 

  

Amortization expense for the three months ended March 31, 2025 and 2024 was $2,095 and $2,215, respectively, of which $1,074 and $690 was included in cost of goods sold in the condensed consolidated statements of operations and comprehensive income for the respective periods.

The estimated amortization expense for definite-lived intangible assets for the remaining nine months of 2025, the next four years and thereafter is as follows:

Remainder of 2025

    

$

6,329

2026

 

8,150

2027

 

7,977

2028

 

7,977

2029

 

7,880

Thereafter

 

50,400

Total

$

88,713

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.25.1
DEBT
3 Months Ended
Mar. 31, 2025
DEBT  
DEBT

6.    DEBT

The Company’s debt is as follows:

March 31, 2025

December 31, 2024

Short-term debt:

 

  

 

  

Current portion of term loan

$

11,250

$

11,250

Current portion of other

 

130

 

125

$

11,380

$

11,375

Long-term debt:

 

  

 

  

Revolver

 

 

Term loan

 

210,938

 

213,750

Other

 

259

 

251

$

211,197

$

214,001

Unamortized debt discount and debt issuance costs

 

(2,063)

 

(2,171)

Total long-term debt, net

$

209,134

$

211,830

The following summarizes the aggregate principal payments of our long-term debt, excluding debt discount and debt issuance costs, for the remaining nine months of 2025, the next four years and thereafter:

Remainder of 2025

    

$

8,567

2026

 

11,380

2027

 

11,380

2028

 

11,250

2029

 

180,000

Total principal payments

$

222,577

2024 Credit Agreement

On December 20, 2024 (the “2024 Credit Agreement Closing Date”), the Company refinanced its existing credit facilities and entered into an Amended and Restated Credit Agreement (the “2024 Credit Agreement”), whereby Safariland, LLC, as borrower (the “2024 Borrower”), the Company, and certain domestic subsidiaries of the 2024 Borrower, as guarantors (the “2024 Guarantors”), closed on and received funding under the 2024 Credit Agreement with PNC, as administrative agent, swingline lender, and issuing lender, along with several other lenders (collectively, the “2024 Lenders”). The 2024 Credit Agreement amends and restates the prior credit agreement in its entirety.

Pursuant to the 2024 Credit Agreement, the 2024 Borrower (i) borrowed $225,000 under a term loan facility (the “2024 Term Loans”), (ii) may borrow up to $175,000 under a revolving credit facility (the “2024 Revolving Loan”), including up to $30,000 for letters of credit and up to $10,000 for swingline loans, (iii) may borrow up to $115,000 under a delayed draw term loan A-1 facility (the “DDTL A-1 Facility”) available through June 20, 2025, and (iv) may borrow up to $75,000 under a delayed draw term loan A-2 facility (the “DDTL A-2 Facility”) available through June 20, 2026. Each of these facilities matures on December 20, 2029. The proceeds of the 2024 Term Loans were used to refinance the outstanding term loans under the 2021 Credit Agreement and to pay fees and expenses incurred in connection with entering into the 2024 Credit Agreement. The 2024 Credit Agreement also permits the 2024 Borrower, subject to certain requirements, to arrange with lenders for an aggregate of $100,000 (or more if certain leverage ratios are met) of additional revolving and/or term loan commitments (both of which are currently uncommitted).

The 2024 Borrower may elect to have borrowings under the 2024 Credit Agreement bear interest at either (i) a base rate plus an applicable margin ranging from 0.50% to 1.50% per annum or (ii) a term SOFR rate plus an applicable margin ranging from 1.50% to 2.50% per annum, in each case based on the Company’s consolidated total net leverage ratio. The 2024 Borrower is also required to pay a commitment fee on the unused portion of the 2024 Revolving Loan, the DDTL A-1 Facility, and the DDTL A-2 Facility, ranging from 0.175% to 0.25% per annum, based on the Company’s consolidated total net leverage ratio.

The 2024 Term Loans require scheduled quarterly principal payments of 1.25% of the original aggregate principal amount, beginning March 31, 2025, with the balance due at maturity.

The 2024 Credit Agreement is guaranteed, jointly and severally, by the 2024 Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the 2024 Borrower and the 2024 Guarantors pursuant to an Amended and Restated Security and Pledge Agreement and an Amended and Restated Guaranty and Suretyship Agreement, each dated as of the 2024 Credit Agreement Closing Date.

The 2024 Credit Agreement contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the 2024 Borrower or any 2024 Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. Additionally, the 2024 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of 1.25 to 1.00, starting with the quarter ended December 31, 2024, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of 4.00 to 1.00 from the quarter ended December 31, 2024 until the quarter ended March 31, 2026, and thereafter 3.50 to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to 0.50 to 1.00 for four fiscal quarters following such acquisition, subject to a maximum consolidated total net leverage ratio of 4.00 to 1.00. Furthermore, the 2024 Credit Agreement also includes customary events of default, including non-payment of principal, interest, or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payments on other material indebtedness, bankruptcy and insolvency events, material judgments, and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2024 Credit Agreement may be accelerated, and the Lenders could foreclose on their security interests in the assets of the Borrower and the Guarantors.

There were no amounts outstanding under the 2024 Revolving Loan as of March 31, 2025 and December 31, 2024. As of March 31, 2025, there were $2,165 in outstanding letters of credit and $172,835 of availability.

Canadian Credit Facility

On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10,000 under a revolving line of credit (including up to $3,000 for letters of credit) (the “Revolving Canadian Loan”). The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement (the “Canadian Guaranty Agreement”).

The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.

The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions.

Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated.

There were no amounts outstanding under the Revolving Canadian Loan as of March 31, 2025 and December 31, 2024.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.25.1
DERIVATIVE INSTRUMENTS
3 Months Ended
Mar. 31, 2025
DERIVATIVE INSTRUMENTS  
DERIVATIVE INSTRUMENTS

7.    DERIVATIVE INSTRUMENTS

Interest Rate Swaps

We entered into interest rate swap agreements to hedge forecasted monthly interest rate payments on our floating rate debt. Under the terms of the interest rate swap agreements (“Swap Agreements”), we receive payments based on the 1-month SOFR (4.32% as of March 31, 2025). We had the following Swap Agreements as of March 31, 2025:

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

82,500

0.812

%

May 31, 2023 through July 23, 2026

$

45,000

    

3.905

%

February 14, 2025 through December 20, 2029

    

$

38,883

    

4.080

%

During the three months ended March 31, 2025, there were no Swap Agreements that expired.

We designated the Swap Agreements as cash flow hedges. A portion of the amount included in accumulated other comprehensive loss is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.

It is our policy to execute such instruments with creditworthy banks and not to enter into derivative financial instruments for speculative purposes. We believe our interest rate swap counterparty will be able to fulfill their obligations under our agreements, and we believe we will have debt outstanding through the expiration date of the swap agreements such that the occurrence of future cash flow hedges remains probable.

The estimated fair value of our Swap Agreements in the condensed consolidated balance sheets was as follows:

Balance Sheet Accounts

March 31, 2025

    

December 31, 2024

Other current assets

$

2,479

$

2,749

Other assets

$

616

$

1,298

Accrued liabilities

$

63

$

Other liabilities

$

707

$

A cumulative gain, net of tax, of $1,645 and $2,917 is recorded in accumulated other comprehensive loss as of March 31, 2025 and December 31, 2024, respectively.

The amount of loss, net of tax, recognized in other comprehensive (loss) income for the three months ended March 31, 2025 and 2024 was $695 and $1,568, respectively. There was a gain, net of tax, of $577 and $872 reclassified from accumulated other comprehensive loss into earnings for the three months ended March 31, 2025 and 2024, respectively.

As of March 31, 2025, approximately $2,318 is expected to be reclassified from accumulated other comprehensive loss into interest expense over the next 12 months.

Foreign Currency Hedge

We entered into forward contracts to hedge forecasted Mexican Peso (“MXN”) denominated costs associated with our Mexican subsidiary. These contracts are designated as cash flow hedges to manage foreign currency transaction risk and are measured at fair value and reported as current assets or current liabilities in the condensed consolidated balance sheets. Any changes in the fair value of designated cash flow hedges are recorded in other comprehensive (loss) income and are reclassified from accumulated other comprehensive loss into earnings in the period the hedged item impacts earnings.

As of March 31, 2025, the Company had outstanding contracts with a total notional amount of $94,313 MXN and recognized a cumulative loss, net of tax, of $55 in accumulated other comprehensive loss.

The Company recognized a loss, net of tax, of $55 and a gain, net of tax, of $92 in other comprehensive (loss) income for the three months ended March 31, 2025 and 2024, respectively. There was a loss, net of tax, of $314 and $22 reclassified from accumulated other comprehensive loss into earnings for the three months ended March 31, 2025 and 2024, respectively.

As of March 31, 2025, approximately $55 is expected to be reclassified from accumulated other comprehensive loss into earnings over the next 12 months.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.25.1
COMMITMENTS AND CONTINGENCIES
3 Months Ended
Mar. 31, 2025
COMMITMENTS AND CONTINGENCIES.  
COMMITMENTS AND CONTINGENCIES

8.    COMMITMENTS AND CONTINGENCIES

Legal Proceedings

The Company is also involved in various legal disputes and other legal proceedings and claims that arise from time to time in the ordinary course of business. The Company vigorously defends itself against all lawsuits and evaluates the amount of reasonably possible losses that the Company could incur as a result of these matters. While any litigation contains an element of uncertainty, the Company believes that the reasonably possible losses that the Company could incur in excess of insurance coverage would not have a material adverse effect on the Company’s consolidated financial position, results of operations, or liquidity.

Insurance

The Company has various insurance policies, including product liability insurance, covering risks and in amounts it considers adequate. There can be no assurance that the insurance coverage maintained by the Company is sufficient or will be available in adequate amounts or at a reasonable cost.

International

As an international company, we are, from time to time, the subject of investigations related to the Company’s international operations, including under U.S. export control laws (such as ITAR), the FCPA and other similar U.S. and foreign laws. To the best of the Company’s knowledge, there are not any potential or pending investigations at this time.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.25.1
INCOME TAXES
3 Months Ended
Mar. 31, 2025
INCOME TAXES  
INCOME TAXES

9.    INCOME TAXES

The Company and its subsidiaries file income tax returns in the U.S. federal, various state and local, and certain foreign jurisdictions. As of March 31, 2025, the Company’s tax years subsequent to 2017 are subject to examination by tax authorities with few exceptions.

The effective tax rate was 26.6% for the three months ended March 31, 2025 and was higher than the statutory rate primarily due to state taxes and non-deductible executive compensation. The effective tax rate was 22.1% for the three months ended March 31, 2024 and was lower than the statutory rate primarily due to the vesting of stock compensation, partially offset by non-deductible executive compensation.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES
3 Months Ended
Mar. 31, 2025
LEASES  
LEASES

10.     LEASES

The Company leases certain manufacturing and office space, retail locations, and equipment. Operating lease assets and liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. The Company has elected the practical expedient and does not recognize a lease liability or right-of-use (“ROU”) asset for short-term leases (leases with a term of twelve months or less). The Company uses its incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments. The Company’s incremental borrowing rate is the rate for collateralized borrowings based on the current economic environment, credit history, credit rating, value of leases, currency in which the lease obligation is satisfied, rate sensitivity, lease term and materiality. Our operating leases have remaining contractual terms of up to five years, some of which include options to extend the leases for up to five years.

The amount of assets and liabilities related to our operating leases were as follows:

Balance Sheet Accounts

March 31, 2025

    

December 31, 2024

Assets:

Operating lease assets

Operating lease assets

$

15,595

$

15,454

Liabilities:

Current:

Operating lease liabilities

Accrued liabilities

$

4,721

$

4,824

Long-term:

Operating lease liabilities

Long-term operating lease liabilities

10,983

10,733

Total lease liabilities

$

15,704

$

15,557

The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the condensed consolidated statements of operations and comprehensive income. The components of lease expense were as follows:

Three Months Ended March 31, 

    

2025

    

2024

Fixed operating lease costs(1)

$

1,420

$

1,149

Variable operating lease costs

 

410

 

255

Total

$

1,830

$

1,404

(1) Includes short-term leases, which are immaterial.

The weighted average remaining lease term and weighted average discount rate is as follows:

March 31, 2025

    

December 31, 2024

Weighted average remaining lease term (years):

 

 

Operating leases

3.52

3.07

Weighted average discount rate:

Operating leases

3.19%

3.14%

The estimated future minimum lease payments under operating leases for the remaining nine months of 2025, the next four years and thereafter is as follows:

Remainder of 2025

$

3,900

2026

 

4,554

2027

 

3,474

2028

 

2,513

2029

 

1,539

Thereafter

 

1,145

Total future lease payments

17,125

Less: Amount representing interest

(1,421)

Present value of lease liabilities

$

15,704

Supplemental cash flow information related to leases is as follows:

    

Three Months Ended March 31, 

2025

    

2024

Cash paid for amounts included in the measurement of lease liabilities:

 

 

Operating cash flows - operating leases

$

1,476

$

1,073

Right-of-use assets obtained in exchange for lease liabilities:

Operating leases

$

1,940

$

1,349

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.25.1
RELATED PARTY TRANSACTIONS
3 Months Ended
Mar. 31, 2025
RELATED PARTY TRANSACTIONS  
RELATED PARTY TRANSACTIONS

11.     RELATED PARTY TRANSACTIONS

The Company leases some distribution warehouses and retail stores from certain employees. The Company recorded rent expense related to these leases of $128 and $93 for the three months ended March 31, 2025 and 2024, respectively. Rent expense related to these leases is included in related party expense in the Company’s condensed consolidated statements of operations and comprehensive income.

During the three months ended March 31, 2024, the Company paid $1,750 to Kanders & Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer, for services related to the acquisition of Alpha Safety, which is included in related party expense in the Company’s condensed consolidated statements of operations and comprehensive income.

There were no payments made to Kanders & Company, Inc. for the three months ended March 31, 2025.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.25.1
SEGMENT DATA
3 Months Ended
Mar. 31, 2025
SEGMENT DATA  
SEGMENT DATA

12.     SEGMENT DATA

Our segment disclosure is intended to provide the users of our consolidated financial statements with a view of the business that is consistent with management of the Company.

Our operations are comprised of two operating and reportable segments: Product and Distribution. The Product segment is comprised of components that manufacture and sell products, while the Distribution segment is comprised of our business that serves as a one-stop shop for law enforcement agencies that sells goods produced by the Product segment, as well as other third-party productsSegment information is consistent with how the chief operating decision maker (“CODM”), our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance. The CODM evaluates segment performance and

decides how to allocate resources based on segment gross profit. The CODM is not regularly provided asset information or operating expenses by segment as that information is not available.

    

Three Months Ended March 31, 2025

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

112,735

$

27,862

$

(10,491)

    

$

130,106

Cost of goods sold

62,625

21,841

(10,491)

73,975

Gross profit

$

50,110

$

6,021

$

$

56,131

    

Three Months Ended March 31, 2024

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

118,785

$

28,191

$

(9,116)

    

$

137,860

Cost of goods sold

67,764

21,557

(9,089)

80,232

Gross profit

$

51,021

$

6,634

$

(27)

$

57,628

(1) Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.25.1
SUBSEQUENT EVENTS
3 Months Ended
Mar. 31, 2025
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

13.     SUBSEQUENT EVENTS

Acquisition

In April 2025, the Company acquired Carr’s Engineering Limited (excluding Chirton Engineering) and Carr's Engineering (US), Inc. (together the “Nuclear Engineering Division”), each a subsidiary of Carr’s Group plc, for approximately $99,750.

The acquisition will be accounted for using the acquisition method of accounting whereby the acquired assets and liabilities of the acquired companies will be recorded at their respective fair values and added to those of the Company, including an amount for goodwill representing the difference between the acquisition consideration and the fair value of the identifiable net assets. Results of operations of the acquired companies will be included in the operations of the Company beginning on the closing date. As of the date of the filing of this Form 10-Q, the initial purchase price allocation has not been prepared as there has not been sufficient time to complete the related activities.

Long-Term Debt

In April 2025, in connection with the acquisition of the Nuclear Engineering Division, the Company drew $97,500 of the $115,000 available under the DDTL- A-1 Facility. The DDTL- A-1 Facility has the same terms and conditions as the 2024 Term Loan including such items as interest rate, quarterly amortization payment requirements, and maturity date.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.25.1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Pay vs Performance Disclosure    
Net Income (Loss) $ 9,248 $ 6,928
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.25.1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2025
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 R24.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES (Policies)
3 Months Ended
Mar. 31, 2025
SIGNIFICANT ACCOUNTING POLICIES  
Nature of Operations and Basis of Presentation

Nature of Operations and Basis of Presentation

Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 20 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France, and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.

Principles of Consolidation

Principles of Consolidation

The accompanying condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles ("GAAP" or “U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting, and include the accounts of the Company, its wholly owned subsidiaries, and other entities consolidated as required by GAAP. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited financial statements. The unaudited condensed consolidated interim financial statements have been prepared on a basis consistent with the audited consolidated financial statements and include all adjustments, which are normal and recurring in nature, necessary for fair financial statement presentation. These condensed consolidated interim financial statements and notes thereto should be read in conjunction with the Company’s most recently completed annual consolidated financial statements. All adjustments considered necessary for a fair presentation have been included. All intercompany balances and transactions have been eliminated in consolidation.

Secondary Offering

Secondary Offering

On March 19, 2024, the Company completed a secondary offering in which the Company issued and sold 2,200,000 shares of common stock at a price of $35.00 per share. The Company’s net proceeds from the sale of shares were $72,813 after underwriter discounts and commissions, fees and expenses of $4,187.

On April 1, 2024, the underwriters exercised the full amount of their over-allotment option and purchased an additional 545,719 shares of common stock at a price of $35.00 per share, resulting in net proceeds to the Company of $18,280 after underwriter discounts and commissions, fees and expenses of $820.

Emerging Growth Company

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation, and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our condensed consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

Use of Estimates

Use of Estimates

The preparation of these condensed consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.

Fair Value Measurements

Fair Value Measurements

The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, Fair Value Measurements and Disclosures, which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:

Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.

Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.

Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.

The Company’s financial instruments consist principally of cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.

The following table presents our fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis:

March 31, 2025

December 31, 2024

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Money market funds

$

26,370

$

26,370

$

$

$

110,671

$

110,671

$

$

Derivative instruments (Note 7)

$

3,095

$

$

3,095

$

$

4,465

$

$

4,465

$

Liabilities:

Derivative instruments (Note 7)

$

843

$

$

843

$

$

$

$

$

Contingent consideration (Note 2)

$

3,559

$

$

$

3,559

$

3,211

$

$

$

3,211

There were no transfers of assets or liabilities between levels during the three months ended March 31, 2025 and 2024.

There have not been material changes in the fair value of debt (Level 2), as compared to the carrying value, as of March 31, 2025 and December 31, 2024.

Revenue Recognition

Revenue Recognition

The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the

performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.

The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.

The Company has certain long-term contracts that contain performance obligations that are satisfied over time. The Company invoices the customer once the billing milestone is reached and collects under customary short-term credit terms. For long-term contracts, the Company recognizes revenue using the input method based on costs incurred, as this method is an appropriate measure of progress toward the complete satisfaction of the performance obligation. Due to uncertainties inherent in the estimation process, it is possible that estimates of costs to complete a performance obligation will be revised in the near-term. For those performance obligations for which revenue is recognized using a cost-to-cost input method, changes in total estimated costs, and related progress towards complete satisfaction of the performance obligation, are recognized on a cumulative catch-up basis in the period in which the revisions to the estimates are made. When the current estimate of total costs for a performance obligation indicates a loss, a provision for the entire estimated loss on the unsatisfied performance obligation is made in the period in which the loss becomes evident.

At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.

Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying condensed consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.

Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s condensed consolidated statements of operations and comprehensive income.

Product Warranty

Product Warranty

Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements, and is recorded in cost of goods sold in the Company’s condensed consolidated statements of operations and comprehensive income.

The following table sets forth the changes in the Company’s accrued warranties, which are recorded in accrued liabilities in the condensed consolidated balance sheets:

Three Months Ended March 31, 

    

2025

    

2024

Beginning accrued warranty expense

$

1,760

$

1,610

Current period claims

 

(74)

 

(116)

Provision for current period sales

 

8

 

57

Ending accrued warranty expense

$

1,694

$

1,551

Net Income per Share

Net Income per Share

Basic income per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. Diluted income per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method. The calculation of weighted average shares outstanding and net income per share are as follows:

    

Three months ended March 31, 

    

2025

    

2024

Net income

$

9,248

$

6,928

 

  

 

  

Weighted average shares outstanding - basic

 

40,618,554

 

37,946,576

Effect of dilutive securities:

Stock-based awards

362,307

607,609

Weighted average shares outstanding - diluted

 

40,980,861

 

38,554,185

Net income per share:

 

  

 

  

Basic

$

0.23

$

0.18

Diluted

$

0.23

$

0.18

For the three months ended March 31, 2025 and 2024, equity awards of 776,215 and 328,474, respectively, were outstanding and anti-dilutive and therefore not included in the calculation of net income per share for these periods.

Recent Accounting Pronouncements

Recent Accounting Pronouncements

Accounting Pronouncements Not Yet Adopted

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires a public entity to disclose in its rate reconciliation table additional categories of information about federal, state and foreign income taxes and provide more details about the reconciling items in some categories if items meet a quantitative threshold. The guidance will require all entities to disclose income taxes paid, net of refunds, disaggregated by federal (national), state and foreign taxes for annual periods and to disaggregate the information by jurisdiction based on a quantitative threshold. The guidance makes several other changes to the disclosure requirements. All entities are required to apply the guidance prospectively, with the option to apply it retrospectively. The guidance is effective for public business entities for fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the enhanced disclosure requirements, however, we do not anticipate a material change to our financial position, results of operations or cash flows.

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES (Tables)
3 Months Ended
Mar. 31, 2025
SIGNIFICANT ACCOUNTING POLICIES  
Summary of fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis

March 31, 2025

December 31, 2024

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Money market funds

$

26,370

$

26,370

$

$

$

110,671

$

110,671

$

$

Derivative instruments (Note 7)

$

3,095

$

$

3,095

$

$

4,465

$

$

4,465

$

Liabilities:

Derivative instruments (Note 7)

$

843

$

$

843

$

$

$

$

$

Contingent consideration (Note 2)

$

3,559

$

$

$

3,559

$

3,211

$

$

$

3,211

Summary of changes in the accrued warranties

Three Months Ended March 31, 

    

2025

    

2024

Beginning accrued warranty expense

$

1,760

$

1,610

Current period claims

 

(74)

 

(116)

Provision for current period sales

 

8

 

57

Ending accrued warranty expense

$

1,694

$

1,551

Summary of calculation of weighted average shares outstanding and net income per share

    

Three months ended March 31, 

    

2025

    

2024

Net income

$

9,248

$

6,928

 

  

 

  

Weighted average shares outstanding - basic

 

40,618,554

 

37,946,576

Effect of dilutive securities:

Stock-based awards

362,307

607,609

Weighted average shares outstanding - diluted

 

40,980,861

 

38,554,185

Net income per share:

 

  

 

  

Basic

$

0.23

$

0.18

Diluted

$

0.23

$

0.18

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS (Tables)
3 Months Ended
Mar. 31, 2025
ICOR  
ACQUISITIONS  
Schedule of total consideration

Cash paid

    

$

40,350

Less: cash acquired

(1,068)

Plus: Contingent consideration

2,226

Total consideration, net

$

41,508

Summary of total purchase price consideration and amounts recognized for assets acquired and liabilities assumed

Total consideration, net

    

$

41,508

Accounts receivable

$

2,352

Inventories

8,086

Prepaid expenses and other current assets

612

Property and equipment

239

Operating lease assets

1,369

Intangible assets

17,200

Goodwill

18,602

Total assets acquired

48,460

Accounts payable

635

Accrued liabilities

1,455

Long-term operating lease liabilities

967

Deferred tax liabilities

3,895

Total liabilities assumed

6,952

Net assets acquired

$

41,508

Schedule of acquired intangible assets

    

Gross

    

Average Useful Life

Customer relationships

$

1,496

10

Technology

14,283

 

10

Trademarks

1,421

10

Total

$

17,200

Summary of changes in the contingent consideration liability

Balance, December 31, 2024

$

3,211

Fair value adjustment

331

Foreign currency translation adjustments

 

17

Balance, March 31, 2025

$

3,559

Alpha Safety  
ACQUISITIONS  
Schedule of total consideration

Cash paid

    

$

107,138

Less: cash acquired

 

(4,607)

Total consideration, net

$

102,531

Summary of total purchase price consideration and amounts recognized for assets acquired and liabilities assumed

Total consideration, net

    

$

102,531

Accounts receivable

$

9,189

Inventories

8,527

Prepaid expenses and other current assets

1,889

Property and equipment

2,189

Operating lease assets

2,262

Intangible assets

57,800

Goodwill

49,133

Total assets acquired

130,989

Accounts payable

1,896

Accrued liabilities

12,570

Long-term operating lease liabilities

1,573

Deferred tax liabilities

12,419

Total liabilities assumed

28,458

Net assets acquired

$

102,531

Schedule of acquired intangible assets

    

Gross

    

Average Useful Life

Customer relationships

$

17,900

20

Technology

35,200

 

15

Trademarks

4,700

10

Total

$

57,800

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.25.1
REVENUE RECOGNITION (Tables)
3 Months Ended
Mar. 31, 2025
REVENUE RECOGNITION  
Summary of disaggregate net sales by channel and geography

Three Months Ended March 31, 

    

2025

    

2024

U.S. state and local agencies (a)

$

73,409

$

74,992

Commercial

 

11,019

 

11,265

U.S. federal agencies

 

21,484

 

21,186

International

 

22,881

 

29,437

Other

 

1,313

 

980

Net sales

$

130,106

$

137,860

(a) Includes all Distribution sales

Three Months Ended March 31, 

    

2025

    

2024

United States

$

107,225

$

108,423

International

 

22,881

 

29,437

Net sales

$

130,106

$

137,860

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.25.1
INVENTORIES (Tables)
3 Months Ended
Mar. 31, 2025
INVENTORIES  
Summary of inventories stated at lower of cost or net realizable value

March 31, 2025

December 31, 2024

Finished goods

$

36,395

$

31,209

Work-in-process

 

9,904

 

8,321

Raw materials and supplies

 

45,487

 

42,821

Total

$

91,786

$

82,351

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)
3 Months Ended
Mar. 31, 2025
GOODWILL AND OTHER INTANGIBLE ASSETS  
Summary of changes in goodwill

    

Product

    

Distribution

    

Total

Balance, December 31, 2024

$

145,541

$

2,616

$

148,157

Foreign currency translation adjustments

 

454

 

 

454

Balance, March 31, 2025

$

145,995

$

2,616

$

148,611

Summary of intangible assets

March 31, 2025

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite-lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

105,602

 

$

(70,183)

 

$

35,419

 

17

Technology

 

64,744

 

 

(16,956)

 

 

47,788

 

13

Tradenames

 

12,683

 

 

(7,177)

 

 

5,506

 

9

Non-compete agreements

 

1,012

 

 

(1,012)

 

 

 

-

$

184,041

 

$

(95,328)

 

$

88,713

Indefinite-lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,171

 

 

 

 

17,171

 

Indefinite

Total

$

201,212

 

$

(95,328)

 

$

105,884

 

  

December 31, 2024

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite-lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

105,060

 

$

(69,118)

 

$

35,942

 

17

Technology

 

64,600

 

 

(15,819)

 

 

48,781

 

13

Tradenames

 

12,596

 

 

(6,941)

 

 

5,655

 

9

Non-compete agreements

 

996

 

 

(996)

 

 

 

-

$

183,252

 

$

(92,874)

 

$

90,378

Indefinite-lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,166

 

 

 

 

17,166

 

Indefinite

Total

$

200,418

 

$

(92,874)

 

$

107,544

 

  

Summary of estimated amortization expense for definite lived intangible assets

Remainder of 2025

    

$

6,329

2026

 

8,150

2027

 

7,977

2028

 

7,977

2029

 

7,880

Thereafter

 

50,400

Total

$

88,713

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.25.1
DEBT (Tables)
3 Months Ended
Mar. 31, 2025
DEBT  
Schedule of company's debt

March 31, 2025

December 31, 2024

Short-term debt:

 

  

 

  

Current portion of term loan

$

11,250

$

11,250

Current portion of other

 

130

 

125

$

11,380

$

11,375

Long-term debt:

 

  

 

  

Revolver

 

 

Term loan

 

210,938

 

213,750

Other

 

259

 

251

$

211,197

$

214,001

Unamortized debt discount and debt issuance costs

 

(2,063)

 

(2,171)

Total long-term debt, net

$

209,134

$

211,830

Summary of aggregate principal payments of long-term debt

Remainder of 2025

    

$

8,567

2026

 

11,380

2027

 

11,380

2028

 

11,250

2029

 

180,000

Total principal payments

$

222,577

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.25.1
DERIVATIVE INSTRUMENTS (Tables)
3 Months Ended
Mar. 31, 2025
DERIVATIVE INSTRUMENTS  
Schedule of Interest rate swaps

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

82,500

0.812

%

May 31, 2023 through July 23, 2026

$

45,000

    

3.905

%

February 14, 2025 through December 20, 2029

    

$

38,883

    

4.080

%

Schedule of estimated fair value of our Swap Agreements in the consolidated balance sheets

Balance Sheet Accounts

March 31, 2025

    

December 31, 2024

Other current assets

$

2,479

$

2,749

Other assets

$

616

$

1,298

Accrued liabilities

$

63

$

Other liabilities

$

707

$

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES (Tables)
3 Months Ended
Mar. 31, 2025
LEASES  
Schedule of operating leases

The amount of assets and liabilities related to our operating leases were as follows:

Balance Sheet Accounts

March 31, 2025

    

December 31, 2024

Assets:

Operating lease assets

Operating lease assets

$

15,595

$

15,454

Liabilities:

Current:

Operating lease liabilities

Accrued liabilities

$

4,721

$

4,824

Long-term:

Operating lease liabilities

Long-term operating lease liabilities

10,983

10,733

Total lease liabilities

$

15,704

$

15,557

The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the condensed consolidated statements of operations and comprehensive income. The components of lease expense were as follows:

Three Months Ended March 31, 

    

2025

    

2024

Fixed operating lease costs(1)

$

1,420

$

1,149

Variable operating lease costs

 

410

 

255

Total

$

1,830

$

1,404

(1) Includes short-term leases, which are immaterial.

The weighted average remaining lease term and weighted average discount rate is as follows:

March 31, 2025

    

December 31, 2024

Weighted average remaining lease term (years):

 

 

Operating leases

3.52

3.07

Weighted average discount rate:

Operating leases

3.19%

3.14%

Summary of future minimum lease payments required under operating leases

Remainder of 2025

$

3,900

2026

 

4,554

2027

 

3,474

2028

 

2,513

2029

 

1,539

Thereafter

 

1,145

Total future lease payments

17,125

Less: Amount representing interest

(1,421)

Present value of lease liabilities

$

15,704

Schedule of supplemental cash flow information related leases

    

Three Months Ended March 31, 

2025

    

2024

Cash paid for amounts included in the measurement of lease liabilities:

 

 

Operating cash flows - operating leases

$

1,476

$

1,073

Right-of-use assets obtained in exchange for lease liabilities:

Operating leases

$

1,940

$

1,349

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.25.1
SEGMENT DATA (Tables)
3 Months Ended
Mar. 31, 2025
SEGMENT DATA  
Summary of segment data

    

Three Months Ended March 31, 2025

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

112,735

$

27,862

$

(10,491)

    

$

130,106

Cost of goods sold

62,625

21,841

(10,491)

73,975

Gross profit

$

50,110

$

6,021

$

$

56,131

    

Three Months Ended March 31, 2024

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

118,785

$

28,191

$

(9,116)

    

$

137,860

Cost of goods sold

67,764

21,557

(9,089)

80,232

Gross profit

$

51,021

$

6,634

$

(27)

$

57,628

(1) Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details)
3 Months Ended
Mar. 31, 2025
item
Nature of Operations and Basis of Presentation  
Number of manufacturing plants 20
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES - Secondary Offering (Details) - USD ($)
$ / shares in Units, $ in Thousands
Apr. 01, 2024
Mar. 19, 2024
Secondary Offering    
Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs (in shares)   2,200,000
Issue price   $ 35
Net proceeds from the sale of shares   $ 72,813
Underwriter discounts and commissions, fees and expenses   $ 4,187
Over-Allotment Option    
Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs (in shares) 545,719  
Issue price $ 35  
Net proceeds from the sale of shares $ 18,280  
Underwriter discounts and commissions, fees and expenses $ 820  
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES - Assets and liabilities measured at fair value on a recurring basis (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Dec. 31, 2024
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Transfers between fair value measurement levels, amount $ 0 $ 0  
Carrying Amount      
Assets:      
Money market funds 26,370   $ 110,671
Derivative instruments 3,095   4,465
Liabilities:      
Derivative instruments 843    
Contingent consideration 3,559   3,211
Recurring | Fair Value | Level 1      
Assets:      
Money market funds 26,370   110,671
Recurring | Fair Value | Level 2      
Assets:      
Derivative instruments 3,095   4,465
Liabilities:      
Derivative instruments 843    
Recurring | Fair Value | Level 3      
Liabilities:      
Contingent consideration $ 3,559   $ 3,211
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Changes in the Company's accrued warranties    
Beginning accrued warranty expense $ 1,760 $ 1,610
Current period claims (74) (116)
Provision for current period sales 8 57
Ending accrued warranty expense $ 1,694 $ 1,551
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.25.1
SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Numerator for basic and diluted earnings per share:    
Net income $ 9,248 $ 6,928
Weighted average shares outstanding:    
Weighted average shares outstanding - basic 40,618,554 37,946,576
Effect of dilutive securities:    
Stock-based awards 362,307 607,609
Weighted average shares outstanding - diluted 40,980,861 38,554,185
Net income per share:    
Basic $ 0.23 $ 0.18
Diluted $ 0.23 $ 0.18
Anti-dilutive instruments excluded 776,215 328,474
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Summary - ICOR (Details) - USD ($)
$ in Thousands
3 Months Ended
Jan. 09, 2024
Mar. 31, 2024
ACQUISITIONS    
Total consideration, net   $ 141,293
ICOR    
ACQUISITIONS    
Total consideration, net $ 39,282  
Percentage acquired 100.00%  
Total consideration, net of cash acquired:    
Cash paid $ 40,350  
Less: cash acquired (1,068)  
Plus: Contingent consideration 2,226  
Total consideration, net $ 41,508  
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Purchase Price Consideration and Fair Value - ICOR (Details) - USD ($)
$ in Thousands
Jan. 09, 2024
Mar. 31, 2025
Dec. 31, 2024
Total purchase price consideration and amounts recognized for the assets acquired and liabilities assumed      
Goodwill   $ 148,611 $ 148,157
ICOR      
Total purchase price consideration and amounts recognized for the assets acquired and liabilities assumed      
Total consideration, net $ 41,508    
Accounts receivable 2,352    
Inventories 8,086    
Prepaid expenses and other current assets 612    
Property and equipment 239    
Operating lease assets 1,369    
Intangible assets 17,200    
Goodwill 18,602    
Total assets acquired 48,460    
Accounts payable 635    
Accrued liabilities 1,455    
Long-term operating lease liabilities 967    
Deferred tax liabilities 3,895    
Total liabilities assumed 6,952    
Net assets acquired $ 41,508    
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Intangible Assets and Contingent Consideration - ICOR (Details) - ICOR
$ in Thousands, $ in Thousands
Jan. 09, 2024
USD ($)
Mar. 31, 2025
USD ($)
Dec. 31, 2024
USD ($)
Jan. 09, 2024
CAD ($)
ACQUISITIONS        
Gross $ 17,200      
Goodwill, non-deductible for tax purposes 18,602      
Contingent consideration $ 2,225 $ 3,559 $ 3,211  
Discount rate        
ACQUISITIONS        
Contingent consideration, measurement input 6.2     6.2
Based on future cumulative net sales during the three year period ended January 9, 2027 | Maximum        
ACQUISITIONS        
Contingent consideration $ 5,797     $ 8,000
Customer relationships        
ACQUISITIONS        
Gross $ 1,496      
Average Useful Life 10 years      
Technology        
ACQUISITIONS        
Gross $ 14,283      
Average Useful Life 10 years      
Trademarks        
ACQUISITIONS        
Gross $ 1,421      
Average Useful Life 10 years      
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Changes in the contingent consideration liability - ICOR (Details) - ICOR
$ in Thousands
3 Months Ended
Mar. 31, 2025
USD ($)
ACQUISITIONS  
Balance in the beginning $ 3,211
Fair value adjustment 331
Foreign currency translation adjustments 17
Balance at the end $ 3,559
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Summary - Alpha Safety (Details) - USD ($)
$ in Thousands
3 Months Ended
Feb. 29, 2024
Mar. 31, 2024
ACQUISITIONS    
Total consideration, net   $ 141,293
Total consideration, net of cash acquired:    
Total consideration, net   $ 141,293
Alpha Safety    
ACQUISITIONS    
Total consideration, net $ 102,531  
Percentage acquired 100.00%  
Total consideration, net of cash acquired:    
Cash paid $ 107,138  
Less: cash acquired (4,607)  
Total consideration, net $ 102,531  
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Purchase Price Consideration and Fair Value - Alpha Safety (Details) - USD ($)
$ in Thousands
3 Months Ended
Feb. 29, 2024
Mar. 31, 2024
Mar. 31, 2025
Dec. 31, 2024
Total purchase price consideration and amounts recognized for the assets acquired and liabilities assumed        
Total consideration, net   $ 141,293    
Goodwill     $ 148,611 $ 148,157
Alpha Safety        
Total purchase price consideration and amounts recognized for the assets acquired and liabilities assumed        
Total consideration, net $ 102,531      
Accounts receivable 9,189      
Inventories 8,527      
Prepaid expenses and other current assets 1,889      
Property and equipment 2,189      
Operating lease assets 2,262      
Intangible assets 57,800      
Goodwill 49,133      
Total assets acquired 130,989      
Accounts payable 1,896      
Accrued liabilities 12,570      
Long-term operating lease liabilities 1,573      
Deferred tax liabilities 12,419      
Total liabilities assumed 28,458      
Net assets acquired $ 102,531      
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.25.1
ACQUISITIONS - Intangible Assets - Alpha Safety (Details) - Alpha Safety
$ in Thousands
Feb. 29, 2024
USD ($)
ACQUISITIONS  
Gross $ 57,800
Goodwill, non-deductible for tax purposes 49,133
Customer relationships  
ACQUISITIONS  
Gross $ 17,900
Average Useful Life 20 years
Technology  
ACQUISITIONS  
Gross $ 35,200
Average Useful Life 15 years
Trademarks  
ACQUISITIONS  
Gross $ 4,700
Average Useful Life 10 years
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.25.1
REVENUE RECOGNITION - Net sales by channel and geography (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Revenue Recognition    
Net sales $ 130,106 $ 137,860
U.S. state and local agencies    
Revenue Recognition    
Net sales 73,409 74,992
Commercial    
Revenue Recognition    
Net sales 11,019 11,265
U.S. federal agencies    
Revenue Recognition    
Net sales 21,484 21,186
International    
Revenue Recognition    
Net sales 22,881 29,437
Other    
Revenue Recognition    
Net sales $ 1,313 $ 980
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.25.1
REVENUE RECOGNITION - Includes all Distribution sales (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Revenue Recognition    
Net sales $ 130,106 $ 137,860
United States    
Revenue Recognition    
Net sales 107,225 108,423
International    
Revenue Recognition    
Net sales $ 22,881 $ 29,437
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.25.1
REVENUE RECOGNITION - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Dec. 31, 2024
REVENUE RECOGNITION    
Contract assets $ 15,300 $ 9,550
Contract liabilities 5,924 $ 7,470
Revenue recognized from amounts included in contract liabilities $ 2,107  
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.25.1
REVENUE RECOGNITION - Additional information (Details)
$ in Thousands
Mar. 31, 2025
USD ($)
Revenue Recognition  
Remaining performance obligations $ 42,481
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-01  
Revenue Recognition  
Percentage of remaining performance obligations expect to recognize 64.00%
Expected timing of satisfaction 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-04-01  
Revenue Recognition  
Percentage of remaining performance obligations expect to recognize 36.00%
Expected timing of satisfaction 2 years
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.25.1
INVENTORIES (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
INVENTORIES    
Finished goods $ 36,395 $ 31,209
Work-in-process 9,904 8,321
Raw materials and supplies 45,487 42,821
Total $ 91,786 $ 82,351
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2025
USD ($)
Summary of changes in goodwill  
Balance at beginning of period $ 148,157
Foreign currency translation adjustments 454
Balance at end of period 148,611
Product  
Summary of changes in goodwill  
Balance at beginning of period 145,541
Foreign currency translation adjustments 454
Balance at end of period 145,995
Distribution  
Summary of changes in goodwill  
Balance at beginning of period 2,616
Balance at end of period $ 2,616
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
GOODWILL AND OTHER INTANGIBLE ASSETS    
Gross goodwill $ 156,196 $ 155,742
Accumulated impairment losses $ 7,585 $ 7,585
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
Summary of intangible assets    
Definite lived intangibles, Gross $ 184,041 $ 183,252
Definite lived intangibles, Accumulated Amortization (95,328) (92,874)
Definite lived intangibles, Net 88,713 90,378
Indefinite lived intangibles 201,212 200,418
Indefinite lived intangibles, Net 105,884 107,544
Tradenames    
Summary of intangible assets    
Indefinite lived intangibles 17,171 17,166
Indefinite lived intangibles, Net 17,171 17,166
Customer relationships    
Summary of intangible assets    
Definite lived intangibles, Gross 105,602 105,060
Definite lived intangibles, Accumulated Amortization (70,183) (69,118)
Definite lived intangibles, Net $ 35,419 $ 35,942
Weighted Average Useful Life 17 years 17 years
Technology    
Summary of intangible assets    
Definite lived intangibles, Gross $ 64,744 $ 64,600
Definite lived intangibles, Accumulated Amortization (16,956) (15,819)
Definite lived intangibles, Net $ 47,788 $ 48,781
Weighted Average Useful Life 13 years 13 years
Tradenames    
Summary of intangible assets    
Definite lived intangibles, Gross $ 12,683 $ 12,596
Definite lived intangibles, Accumulated Amortization (7,177) (6,941)
Definite lived intangibles, Net $ 5,506 $ 5,655
Weighted Average Useful Life 9 years 9 years
Non-compete agreements    
Summary of intangible assets    
Definite lived intangibles, Gross $ 1,012 $ 996
Definite lived intangibles, Accumulated Amortization $ (1,012) $ (996)
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
GOODWILL AND OTHER INTANGIBLE ASSETS    
Amortization expense $ 2,095 $ 2,215
Amortization expense included in cost of goods sold $ 1,074 $ 690
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.25.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
Estimated amortization expense for finite-lived intangible assets    
Remainder of 2025 $ 6,329  
2026 8,150  
2027 7,977  
2028 7,977  
2029 7,880  
Thereafter 50,400  
Total $ 88,713 $ 90,378
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.25.1
DEBT - Schedule of company's debt (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
Short-term debt:    
Current portion of term loan $ 11,250 $ 11,250
Current portion of other 130 125
Total 11,380 11,375
Long-term debt:    
Term loan 210,938 213,750
Other 259 251
Total long-term debt, gross 211,197 214,001
Unamortized debt discount and debt issuance costs (2,063) (2,171)
Total long-term debt, net $ 209,134 $ 211,830
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.25.1
DEBT - Summary of aggregate principal payment of long-term debt (Details)
$ in Thousands
Mar. 31, 2025
USD ($)
DEBT  
Remainder of 2025 $ 8,567
2026 11,380
2027 11,380
2028 11,250
2029 180,000
Total principal payments $ 222,577
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.25.1
DEBT - 2024 Credit Agreement (Details) - USD ($)
$ in Thousands
Dec. 20, 2024
Mar. 31, 2025
Dec. 31, 2024
Each quarter starting with the quarter ended December 31, 2024      
Debt      
Minimum fixed charge coverage ratio 1.25    
Total net leverage ratio 4    
2024 credit agreement      
Debt      
Aggregate of additional revolving term loan commitments $ 100,000    
Increase in total net leverage ratio 0.5    
2024 credit agreement | Period after the quarter ended Match 31, 2026      
Debt      
Total net leverage ratio 3.5    
2024 credit agreement | Each quarter starting with the quarter ended December 31, 2024      
Debt      
Total net leverage ratio 4    
2024 credit agreement | Base Rate | Minimum      
Debt      
Applicable margin (as a percent) 0.50%    
2024 credit agreement | Base Rate | Maximum      
Debt      
Applicable margin (as a percent) 1.50%    
2024 credit agreement | SOFR | Minimum      
Debt      
Applicable margin (as a percent) 1.50%    
2024 credit agreement | SOFR | Maximum      
Debt      
Applicable margin (as a percent) 2.50%    
2024 credit agreement | Revolving credit facility      
Debt      
Maximum borrowing capacity $ 175,000    
Available borrowing capacity   $ 172,835  
Outstanding borrowings   0 $ 0
2024 credit agreement | Term loan      
Debt      
Face amount $ 225,000    
Aggregate principal amount (as a percent) 1.25%    
2024 credit agreement | Letter of credit      
Debt      
Maximum borrowing capacity $ 30,000    
Outstanding letters of credit   $ 2,165  
2024 credit agreement | Swing line loans      
Debt      
Maximum borrowing capacity 10,000    
2024 credit agreement | DDTL A-1 facility      
Debt      
Maximum borrowing capacity 115,000    
2024 credit agreement | DDTL A-2 facility      
Debt      
Maximum borrowing capacity $ 75,000    
2024 credit agreement | Revolving Credit Facility, DDTL A-1 Facility & DDTL A-2 Facility | Minimum      
Debt      
Commitment Fee 0.175%    
2024 credit agreement | Revolving Credit Facility, DDTL A-1 Facility & DDTL A-2 Facility | Maximum      
Debt      
Commitment Fee 0.25%    
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.25.1
DEBT - Canadian Credit Facility (Details) - Canadian Credit Facility
$ in Thousands, $ in Thousands
Oct. 14, 2021
USD ($)
Mar. 31, 2025
USD ($)
Dec. 31, 2024
USD ($)
Oct. 14, 2021
CAD ($)
Minimum        
Debt        
Unused line fee (as a percent) 0.175%      
Maximum        
Debt        
Unused line fee (as a percent) 0.25%      
Base Rate | Minimum        
Debt        
Applicable margin (as a percent) 0.50%      
Base Rate | Maximum        
Debt        
Applicable margin (as a percent) 1.50%      
LIBOR | Minimum        
Debt        
Applicable margin (as a percent) 1.50%      
LIBOR | Maximum        
Debt        
Applicable margin (as a percent) 2.50%      
Revolving credit facility        
Debt        
Maximum borrowing capacity       $ 10,000
Upfront Fee 0.25%     0.25%
Amount outstanding   $ 0 $ 0  
Letter of credit        
Debt        
Maximum borrowing capacity $ 3,000      
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.25.1
DERIVATIVE INSTRUMENTS - Schedule of Interest Rate Swaps (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2025
USD ($)
Interest Rate Swaps  
DERIVATIVE INSTRUMENTS  
Variable rate 4.32%
Interest Rate Swap, One  
DERIVATIVE INSTRUMENTS  
Debt instrument, start maturity date Sep. 30, 2021
Debt instrument, end maturity date Jul. 23, 2026
Notional amount $ 82,500
Fixed rate 0.812%
Interest Rate Swap, Two  
DERIVATIVE INSTRUMENTS  
Debt instrument, start maturity date May 31, 2023
Debt instrument, end maturity date Jul. 23, 2026
Notional amount $ 45,000
Fixed rate 3.905%
Interest Rate Swap, Three  
DERIVATIVE INSTRUMENTS  
Debt instrument, start maturity date Feb. 14, 2025
Debt instrument, end maturity date Dec. 20, 2029
Notional amount $ 38,883
Fixed rate 4.08%
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.25.1
DERIVATIVE INSTRUMENTS -Schedule of Fair Value Swap Agreement (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Dec. 31, 2024
DERIVATIVE INSTRUMENTS      
Gain (loss) recognized in other comprehensive income (loss) $ (750) $ 1,660  
Amount reclassified from accumulated other comprehensive income in to earnings 263 894  
Interest Rate Swaps      
DERIVATIVE INSTRUMENTS      
Cumulative gain, net of tax reflected in accumulated other comprehensive income (loss) 1,645   $ 2,917
Gain (loss) recognized in other comprehensive income (loss) 695 1,568  
Amount reclassified from accumulated other comprehensive income in to earnings 577 $ 872  
Amount reclassified from AOCI into interest expense within next twelve months 2,318    
Interest Rate Swaps | Other current assets      
DERIVATIVE INSTRUMENTS      
Derivative asset $ 2,479   $ 2,749
Derivative Asset, Statement of Financial Position [Extensible Enumeration] Other Assets, Current   Other Assets, Current
Interest Rate Swaps | Other assets      
DERIVATIVE INSTRUMENTS      
Derivative asset $ 616   $ 1,298
Derivative Asset, Statement of Financial Position [Extensible Enumeration] Other Assets, Noncurrent   Other Assets, Noncurrent
Interest Rate Swaps | Accrued liabilities      
DERIVATIVE INSTRUMENTS      
Derivative liability $ 63    
Derivative Liability, Statement of Financial Position [Extensible Enumeration] Accrued Liabilities, Current   Accrued Liabilities, Current
Interest Rate Swaps | Other liabilities      
DERIVATIVE INSTRUMENTS      
Derivative liability $ 707    
Derivative Liability, Statement of Financial Position [Extensible Enumeration] Other Liabilities, Noncurrent   Other Liabilities, Noncurrent
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.25.1
DERIVATIVE INSTRUMENTS - Cash Flow Hedges (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
DERIVATIVE INSTRUMENTS    
Gain (loss) recognized in other comprehensive income (loss) $ (750) $ 1,660
Amount reclassified from accumulated other comprehensive income in to earnings 263 894
Cash Flow Hedges    
DERIVATIVE INSTRUMENTS    
Amount reclassified from AOCI into interest expense within next twelve months 55  
Forward contracts    
DERIVATIVE INSTRUMENTS    
Notional amount 94,313  
Cumulative gain, net of tax, in accumulated other comprehensive income 55  
Gain (loss) recognized in other comprehensive income (loss) 55 92
Amount reclassified from accumulated other comprehensive income in to earnings $ 314 $ 22
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.25.1
INCOME TAXES (Details)
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
INCOME TAXES.    
Effective tax rate 26.60% 22.10%
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES - Schedule of operating assets and liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Dec. 31, 2024
Leases    
Operating lease assets $ 15,595 $ 15,454
Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Accrued Liabilities, Current Accrued Liabilities, Current
Operating lease liabilities $ 4,721 $ 4,824
Long-term operating lease liabilities 10,983 10,733
Total lease liabilities $ 15,704 $ 15,557
option to extend true  
Optional lease extension terms 5 years  
Maximum    
Leases    
Remaining contractual terms 5 years  
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES - Components of lease expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
LEASES    
Fixed operating lease costs $ 1,420 $ 1,149
Variable operating lease costs 410 255
Total $ 1,830 $ 1,404
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES - Weighted average remaining lease term and discount rate (Details)
Mar. 31, 2025
Dec. 31, 2024
LEASES    
Operating leases weighted average remaining lease term (years): 3 years 6 months 7 days 3 years 25 days
Operating leases weighted average discount rate 3.19% 3.14%
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES - Future minimum lease payments under operating leases (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
LEASES    
Remainder of 2025 $ 3,900  
2026 4,554  
2027 3,474  
2028 2,513  
2029 1,539  
Thereafter 1,145  
Total future lease payments 17,125  
Less: Amount representing interest (1,421)  
Present value of lease liabilities $ 15,704 $ 15,557
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.25.1
LEASES - Supplemental cash flow information related to leases (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
LEASES    
Operating cash flows - operating leases $ 1,476 $ 1,073
Operating leases $ 1,940 $ 1,349
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.25.1
RELATED PARTY TRANSACTIONS (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Related Party Transactions    
Rent expense $ 128 $ 93
Kanders & Company, Inc    
Related Party Transactions    
Paid to related party $ 0 $ 1,750
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.25.1
SEGMENT DATA - Other (Details)
3 Months Ended
Mar. 31, 2025
segment
SEGMENT DATA  
Number of reportable segments 2
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.25.1
SEGMENT DATA - Reconciliation (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Segment Data    
Net sales $ 130,106 $ 137,860
Cost of goods sold 73,975 80,232
Gross profit 56,131 57,628
Reconciling Items    
Segment Data    
Net sales (10,491) (9,116)
Cost of goods sold (10,491) (9,089)
Gross profit   (27)
Product | Operating segments    
Segment Data    
Net sales 112,735 118,785
Cost of goods sold 62,625 67,764
Gross profit 50,110 51,021
Distribution | Operating segments    
Segment Data    
Net sales 27,862 28,191
Cost of goods sold 21,841 21,557
Gross profit $ 6,021 $ 6,634
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.25.1
SUBSEQUENT EVENTS (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended
Apr. 30, 2025
Mar. 31, 2024
Subsequent Events    
Proceeds from credit facility   $ 5,500
Subsequent event | Carr's Group PLC, Engineering Division    
Subsequent Events    
Business acquisition, consideration $ 99,750  
Subsequent event | Carr's Group PLC, Engineering Division | DDTL A-1 facility    
Subsequent Events    
Proceeds from credit facility 97,500  
Maximum borrowing capacity $ 115,000  
EXCEL 84 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( #&"IEI&QTU(E0 ,T 0 9&]C4')O<',O87!P+GAM M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ) M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$, M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2B4^BQ-+.97B4\*@@/%MY#< MMF#3AN2DW;Q;> *F&"$T:>O MJ%.%?_Q,X=8.?D MF-R2&H:A'.HYEW>HX/7QX7E>MW!=(MT9S*^2DW0*N&&7R2_U]FYWSY3@8E7P M?-8[P65U*VOQ-KG^\+L*^]ZZO?MGQJMOQA=!U<"O?Z$^ 5!+ P04 " Q M@J9:F5R<(Q & "<)P $P 'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4 M?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)- MNIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X8-DOV]:[MR_>X%#BVR]*+41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQ MEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1 M]E6\W*.76!4!EQC?-*HU+,76>)7 \:V@S&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++ M9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'HYI9";V$5FJ?JH,@H%\;D> M/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO> M1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9= M=N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8 MT='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7 M\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I M=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*POFH]M!5.S_Y9KF4Q9Z;R MWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z M;I,[2$R<><41 71% B.5' 86%S+D4.Z2D 83 > MLX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[ MM'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ M#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1. M"CS<_N\-L,+$CN'MB[\!4$L#!!0 ( #&"IEJ\!F7C\@4 .H? 8 M>&PO=V]R:W-H965T&ULM9E=<^(V%(;_BH9V.NU,B"T9"-D2 M9@A)=FF3+!O2=K9WBBW $]NBD@SAW_?(!IM-99EZEANPC<^+7AU]/)(&&RY> MY9(QA=[B*)%7K:52JP^.(_TEBZD\YRN6P"]S+F*JX%8L'+D2C 994!PYQ'5[ M3DS#I#4<9,^F8CC@J8K"A$T%DFD<4[&]9A'?7+5P:__@*5PLE7[@# ,/]%+*B$$T"=)NH4&W1),F;AZ[F-I)+*I@<. K^3<>N")6DI0#5CP;;P#I2R*2O9%O296P03)6M40TO=PE+W.$M?4BH4$]$6/;$5%\ID MSRZE1&JJE+$UJJ&]7F&O=YR]*1,AUPTV0#!>&)-G5RIZ864WM,8W]'E1^+PX MLF4*"E---H15Y]&N-:>1-";2&M;08+\PV+<6:L;\5( O)M'(5^@NC!AZ3.,7 M)DP&[5JNB]L=MW?9-YFTAC8T>5F8O+06;#>Q^.Z@9=(^GU MVU[_PL.=GM&O-;BI7U+Z) ]]3LQ6[9+8\_H]Z!XP-2=9(X&:F[YNMD;WIV C7,(1 MMN/->_=C?0=]^)EOC%A8(_<;]5\E3]9A%+$SH]U3>]W6+,F@J^ M#A/?G&V[YMV]T>@I" J7"(7MY)/E<01KY>KN:A>X=#M&6Z< )EP2$[9CSCWW M=5]:\L1&$C4B%QW<[G9T\!% < MA,D"S;;Q"X^,-5 #5,!31E^G@"=2PA.QX\T^I^CVS5_29,$J>;%&Z/'KS.C/ M'M;47TE*Y"A2&J="Z+5-OJ#)$@EC;6K20HS:/QC!A" #;21*P-_0[,Z?1 M+J6!KM]SNQW/Z.$4T..5T./9665/ W>AU #_E0&*VK9U:^3:;4S:'C8>-9R" M?KR2?CP[JQ1[NH=.[^"A<1JI$:O:M+:'-?58DH]GYY3W'G?;]-4N[7)?S'D\ M!?5X!P=F-;0"!H/<9$2-8TR-0.6H:H_[O\:<@]-4/:MGA\P2^7H+-C]8+9X6 M!]FC[/C6*5_/3\$?J(8"B2(VAU#W_ (&/)$?+.?99!MIH!\()R77W\K<, &(2?3?&@#^-'RK+3:9[6QX1G\LA1YRB3PVGYZ)4B9QQF]S5)1IRO+'3SP1]^K:5Z,)F> M;=B*S[G\L;G-X6[26(GBE&=%+#*4\^7YZ )_G%%7#:@0_\3\OMB[1LJ5A1 _ MU\% J$PS^;/F,)XFR!#S^VQD=->]4 _>OGZW_53D/SBQ8P6.Y/I\Y(]0Q)>L3.1W?@E#YOA]N'P"7C>N$\:]TEECPZY7^8YSR1B1<&EUIUZO*T?KS;9QV+# M0GX^@EU4\'S+1]/??\.N]:?.N3J"_U?&6Y: M[UJO:U-N94IE@NT44VI3?#;9[ONC@1$[H+2!'3"U&Z:VD>E%&(H2B$&:"#FP M7"1\C#)(:6*)6 *)AV4A1Y#"4"3*A5R6"62#W1" G/B.7SEZXGON&(P4&UXE MB^11YVK-Q=GSP2>!13J>]E$!=[W:8 M]5$^H0[6,W,;9JZ1V6W.-RR.$'\ O2CT]-S>B[%GT:!#3X."V?7T]+R&GF>D M]TVN>0[I\=CF]7HO]ZCC=1AJ0!X=(.@W!'TCP3LA6?("@G[OW902!SL=BAH8 M\1QO8)&#AF1P9)&A&LCE8[595$+8@#[+=JN%89F6"9,\ F&$C!3&K)9>@+-4 MY#)^JA^H3>>X8V+;];YS[#'U[>-;+^BY93N6;W6?XWB@!KL4W$=GJ5/(\!9U>:!,NT6@3ICVIU<,\9X!S*V'$ M+&&'Y="1$"!]=0JHZW;K7AW,QF2(Z]Z)T*QB7XY/9E^5B!5@V@U2'0YCGUH# M%%OU(F;U:BF*3A%S;&HUDF4%?CT+&.M,)&S,)V4,DA[,Q#H;FL54F8E:FF4C36*IS15$W'T2FPI5G(3!&[VZ$Y,A_KZ5N-*R7 M5*1MNORZH4/G6\TCOK$4^@8A1-E_=8'HC:X<.M_))CITH MGW=X(47X$[T[L3Y8EH5!3'.T94G)QPA;8WBD_J%BS8 %8J5P:9_;@_JH,CKPFJCZ M=4.';;RV *"6,:KF:G[6(HEX7OQAB"QJK"->&UEO9>W0Z;:"H.8*0N41*'8, M8148X\JVQJX3C!V_#A9U:WGCP/??+-P.VQW:X*.:WHVJ"',Y=6]%0WUJO#2%]$L7BCTXSG?)ZG!XOX]Y2+&PO=V]R:W-H965T&UL MK99MC]HX$,>_BI5652OM;1Y((.Q!)!:H6JG=HK*]>VV2@5B;Q*GM0-M/WW&2 M31.:!;9WO [F?G[-\/8GLF!BP<9 RCR+4TR.35BI?(;TY1A#"F5USR'#-]L MN4BIPJG8F3(70*/2*4U,Q[*&9DI99@23\ME*!!->J(1EL!)$%FE*Q?=;2/AA M:MC&XX//;!_RH_K8, M'H/94 ESGOS+(A5/#=\@$6QID:C/_/ .ZH \K1?R1);?Y%#9CL8&"0NI>%H[ M(T'*LNJ7?JL3T7*PW2<E+DI MO3$:ENF_<:T$OF7HIX+YI[O%\FZ]7! +^8W>/D=O9A=C=?DO6[Y?)^ M35ZOJ(!,Q:!82),WY"_R9;T@KU^^(2\)R\A]S M)LTA.3(5,6MD,Z_5OJ_6= M)];_2,4U&=A7Q+$?8/YUL=HG;ZU^YC/E6TM> M MYKV0=NMGHEW:AB [)CF20);-'5NAZAAJAZOVJB>%ZV3QNNL!DKAS'VRR"T M ;[?)[HC:SKPX"=02P,$% @ ,8*F6F;,+T% !@ !!L !@ !X M;"]W;W)K4&7N]-P=>0^/'+Z(_"^Y MY%RAUU6:R8O>4JGU^6 @9TN^8O),K'D&_YF+?,44#//%0*YSSN)":94.B./X M@Q5+LMYH6+Q[R$=#L5%IDO&'',G-:L7R[U<\%2\7/=Q[>_&8+)9*OQB,AFNV MX%.NOJP?HQ'QE,^4-L'@9\O'/$VU)<#Q=V6TM_NF5MQ_?K/^J7 >G'EFDH]%^BV) MU?*B%_90S.=LDZI'\?*95PYYVMY,I++XBUXJ6:>'9ANIQ*I2!@2K)"M_V6L5 MB#T%L&-6()4":2JX'0JT4B@B-RB1%6Y=,\5&PUR\H%Q+@S7]4,2FT 9ODDRG M<:IR^&\">FHTOK^[GMQ-)]<(GJ;W?]Q<7S[!8/H$/[>3NZ]\.:!1X#81MJ= AE)@!^CN MOA7@[[F0$JUS,4^4"9K?^JCG8XH;T Q2@4]",[1@!RVP3OW[-<^92K(%XJ] M1-*G+.0(X98K':,UR]?UM5ADYQVE]'Y,F1I-0Z-(.D'L< MBZT@GX2"Y(L?FOR5J8.\$B^(FD@-8I[O=J0?DQHJL4*M5VB2S<3*'$K2CA+U M/-*$:!##4= %L:9/;.?/>[7DN375)V7!4UD[]+;F06PGPIM,<;"KK Z[K4CW M"6F5=),8]FG7&JP)$=L9L4Q(.5_0^PKGAX\HXT;^P6W6@Y48-,&VI?K8==T. ML#4Y8CL[5FMQ?PYU(VV38#_:@U A-4A!:<,=2&NNQ%9N@LP7 7WFT*QQS>?; MI&B>8/@6;,5>.ZI(8(BQ[[3J75LL#*,.DL]4U@Z]KMF2V-GRBLED9O2RU OWHNR:^R"B%NW)1$R.Q M$^-UDFY4LQVM<)$?PF62ZL15LR&QL^&WXJ "=D!L"\R]X.4LD4ALE%2P@0,J M-T^9DY+DJ:P=!J$F26(GR>XITZ8\U_%QZ'G-*FZ0I$'D^M#U=*2HYD=BYT?; MU&FSG.M$H1/Z3?(V2%+M!OC2@:^F1&*G1'L%K)2/5$"#E*4"UAQ(CC2,!4\# M-)@V2WUXN.455/.D/FGK>"IKA[[7+$KL+/HERSE+DW]@;2]%JAI]":\_E M![1@209K/$,QSY-MT4E"7'3OMN*9DL6.1A]2 .D:XV3@TL!K,JY!"OM=QR>D M)EQRK,>DF!N>3K/"F3/M1S]IM9I_X MK5ILD JCCKTEK?F:VIO1S[^5Y0-I*W%$GVOUJZ#?W_ :AOHL[CL-H3=WT2$]K M*")59KK+'FUWK]!_-(\8#5+4ZYI'>P?$5KH95SA<_'Q8U'X_TE/K\L+C8&M9GR?NB6 MY0N]RE,^!Y/.60 AS,LKEW*@Q+JXM7@62HE5\;CD#%:0%H#_SX50;P/]@=W% MU^A?4$L#!!0 ( #&"IEJ=IJOA!P, .,' 8 >&PO=V]R:W-H965T M&ULM57O;]HP$/U73EDUM5+70/BQMH-(%*B*M%($M/OL)@?) MZMC,-M#NK]_923,*%/7#]H7XG+OG]\[D76LMU9-.$ T\9USHMI<8L[CT?1TE MF#%])A#2J7I9RP57MAR>R,5MN32\%3@2(%> M9AE3+U?(Y;KM5;W7C7$Z3XS=\,/6@LUQ@N9^,5(4^25*G&8H="H%*)RUO4[U MLMNT^2[A(<6UWEB#5?(HY9,-!G';JUA"R#$R%H'18X5=Y-P"$8U?!:97'FD+ M-]>OZ-=..VEY9!J[DO](8Y.TO7,/8IRQ)3=CN;[!0D_#XD62:_<+ZR*WXD&T MU$9F13$QR%*1/]EST8>- L+97Q 4!<%V0?V=@EI14'-"XL0H>IM2G0F[=\->?SCI]X!6D[OO@UYG2L%D2H_;_G Z M@;MKN!OUQYWI@!*@,[29MZ-Q_X;*!@]]& PI[L/QB"D4)D&31HR?P!>XG_3@ M^.@$CB 5,$WD4C,1ZY9OB+8]W(\*BE =BC6XE02LH2]BC-_6^R2WU!R\ M:KX*#@+>,G4&M>HI!)6@L8=/]^/E]0-T:N45U!Q>[3]?P;[.YB?7]Y]L'>)2 M+UB$;8\L0*-:H1=^_E1M5K[M:\L_ GO3I'K9I/HA]/!>D$?Q]#?&D$@>IV(. M<_(H#<=<:HWZ!,@38E3IBEE?H+^<-FI)=F/T*061S! ,>P9\)O_3N*]7.8&F M(V#-;Q4&C4K+7VVV8#>G46^6.6^4-4IEC8/*QAAQIG4ZH^\F=[;X)WWWCCJ0 M31OM9D>F85TGTDK33[*_?(>5(LD@Q\<%?$DD>CF8X MY#S/C'C^+.1/M69,HU]Y5JB+WEKKS=E@H-(URQ/U66Q8 ;^LA,P3#;?R:: V MDB5+.RC/!B2*1H,\X45O=FZ?WPEW@TK+DN>L4%P42++516^.SZ[BD1E@)?[+V;-J M7"/CRJ,0/\W-U^5%+S(6L8REVJA(X-^.7;$L,YK CK_V2GO5.\W YO6K]AOK M/#CSF"AV);(_^5*O+WJ3'EJR5;+-]'?Q_#O;.S0T^E*1*?L7/>]EHQY*MTJ+ M?#\8+,AY4?Y/?NTGHC$ ]/@'D/T TAX0=PR@^P'4.EI:9MVZ3G0R.Y?B&4DC M#=K,A9T;.QJ\X84)XT)+^)7#.#V[NKN]_G*[^'*-X&IQ]\?7Z_D#W"P>X-^W M+[H(>UV*JD6*KS@09KC,Y! MNG_S9?EFTO%FBKZ)0J\5^E(LV?)P_ "\J%PAKZY:;ME)M M[%=KMO69VB0IN^C!OE5,[EAO]N]_X5'T'Y_/)U)V, -Q-0-Q2/OL%K(0+U*1 M,Y^;Y=B1'6N2S6XV)?'D?+!KFN\*C::D%CHP:UB9-0P&9K[\'^PK2$5:(2T@ M%Z6B2'G&4%'9:YZ;N]3$<"/%CL,218\O2%1!3,)!')XRB"=2=C!;HVJV1L$@ M7C-0FO*D3+K%$B6YD)K_;1_X/"_5#1LAHY/AJ!57C] T)OZXCBM+QT%+YPW# MD%@A(?D3+Y(,<:6V#"VY2L6VT-:))7O4^^>I4-J;OL:.C<,H:OGARN!XZG=C M4KDQ.6LT1M)3,IS*P0R%\F)9D[N%20JV2WY=C= M>12W#7>%XB'NL)O4=I.@W1^^0Z;=,0DI$ZT $3^6F=420N"C*!-*P4^6V]F= MJDQN9GR7/&9>!-F_KVEF'X_;OKA"\23J\*7&=AP$SMF/ CASQO^&M0*F U:[,L".5XQJC<1BDK^Q<*L,Q&Y@+"P16A4G@&4\>>6;Q]Y.% M:I,I<\AQ]BI)_]K"PC(A\,,S/BD^GTK;X5S5"(W#$#U_YW9Q01='(R>[>L3( M:-J57FMPQF%T_KJ',>[/^]A%TOX4QXYQ'L"=X Y"B&O(Q6',O9=LD_ E[&&3 M]EFYQ(3=(.6:\YKLXB2F<9LA>*2@P.BRN,93' ;4*N:;Y,4$O&%Q8VMXS7;A MLX^Q"UX>,8+'A/HM)S7.DC#.WKZ75_N,)Q[@'=-I.R5YQ BF'RM/VE13CRP MCV-,IEUNUJ!.WBZYK3-;9S:6"^+>\/C$8C*B'?A :L G;P!^:V_= M0.D&9?D[]M9)H?Q4V@YGH89R$H;R>RE2QI8E008\WXEL9^8@A77)-5HE:2"S MAW4?/1,N#Q@V"^!##VL>0,(\X%Y""<@W4)8#N*1C$D6='M6L@X19AS]X;WCF(Q(3W&9V M7K'.(-":;M PW?";S LHH"&_,$ PEO-MCE:O^<;;D@V^X^B>K,M.^CB:="1_ M6M,3&FX,W+\Z:*KIJL-EO>QL#Z18AR] ! MTE)1%/N/0,]''@\*K2GMO\$/JLH'^>())VPM/ MCX%.QY,.>DAKVD##M.$+K)JRM^/TVZ!P+-N&)8N'0L1>F&IDEV2L:]>XH$]( MNPCV"(V[LEE-"VB8%I2M+9O)CC+8@^GQU+'8E>J/:-.NTGC]QD/)IVY-VXY@%QF <$/&"F=1*R/?9T M'2@4I>VV@T=N,HZZFJ%Q#>QQN.^PV&XVF6WW XVY!BS(A.G_&Z,;9=/7HCS5 M <#G+93BDT+]J;0=3DE-">(P);!^6T9@R$[SJY(%4*__+J*3R/E>X)&:TJ[/ M7W$-^W$8]MOV JI#7>XUTP5@.B2.F:X4:6:#0S,;7^SC_W>EW8JB;[VHNUYF M.[V[3H]/BNJGTG8X3S7ZQV'TGZ>IW"99V2A.VKU8$^(TV7 SB;:E#!4MS*(W MK<E$W8K2^4'C M"%3.Y),]&::0#4QYA*AZ6IX^N\1G5_:05NOY')_-[5FL0:VF/-+V+9& = IE M; 4JH\]C"(HL3XF5-UIL[$&K1Z&UR.WEFB7 XHT _+X20K_>F!=49_5F_P!0 M2P,$% @ ,8*F6NB26$^&!P W3, !@ !X;"]W;W)K; 8Y>CG8ZG7X0MG)Q M\4NPE0O\^TI.B&/9D<^PI7S@[&3WD;2/5EH]=BYV>?&Q7#/&T>64)A-B&,XDI7$VFE]4G[TK MYA?YEB=QQMX5J-RF*2V^O&1)OKLCZ0A% M;$6W";_)=Z_884"VQ OSI*S^1[N#K3%"X;;D>7IP%CU(XVS_EWX^!.+$ 9MG M',C!@2@.Q#WC8!X<3,7!^A\35\OKUE??B M5MPL;\6?-_[;VR6Z#M#RU8L;_]7U:\^_6?Z"_-_>7]W^B<;H_=)#CQ\]08]0 MG*';=;XM:1:5%Q,N^B71)^&A#R_W?2#G^I"GJ9AD2YZ''SN\%WKO%U$4RTE* M$_2.QM'X*D,+NHDY33JPO!ZL,-RFVX1R%J%KOF8%$GT3&;N6J73/T%46YBE# MCU_G9?FD ]Y_.+Q/BRS.[LK)8X^MXC#F77B!'N\V;XUR(O@_3@)RG 2DPK'. MX+RD"T>VJF@Y3IV/[G M_+4M"":.:33-O+:98RI0?MMFC!UL.$VSH&V&9RYVR-&L$2;S&";SV\+T6,S_ M^I:IC*.A;8_B*7LVHQ6N=)Q(I2 M+'F?MC'_@OZZR9,$B1UM1XOH[RYF+<"P+"#!/$@P'Q(L )KL&\?V;>U*?U6 MU&YQM:AWL:GU';;K>7(F9&ILJ3VB[QRC[VBC[\7W<<1$S2!J MP3 1ZV?4Q8(68R@+D& >))COM (\-LETIM#09]7@P3WRX&IYN"K+;;6SY2L4 M[HNQ4JY_61%J.S245+<5%)=,L:G4%Y!-^I!@05__&Z1.CZ1._T]23XN> M+H*GK3$1<=H5_Y021SN(H0D)">9#@@5 8(V9,#O.A)EV)E2US%B>OR,Y$S;B M,$/EB:F+-BW2T+R> 82DEO0?9H@\)%O1TO\$%-NH#MZ%E8]'(19%3@I4J MZ1!+-TG^A;$&26@C#AV]V79H\[2O%C&=J;*++_1]&YINH&@^*%H A=9D^416 MP0]G>1?S]9HE$2K8_O#/\VJYK0@5BS'G"4M95JV_Y8!DU?=A:+8>T!JUA6UB MK.0K:*,^*%K0.X0FF[4^@O4""3B;O?E,V@/!MN%,U>U3W_'!"0V)YH.B!5!H MS2E0:S]8+_Z(4S^+[S(4;HN"9>$7Q NQ+B=[-FGTS[;DDO1N^1-2+5F HGFX M+4:-+4P4W0VTS:"OS29%M9*#M5+!?+&FV1V3]>V*Q@6ZI\FVJG[%WAK?4_D$ M0WQ7\F)[GBA0_084S3N@-4X)CJ/R!*K,]#39I*F67+!>H1FW10HR)=AUU"VL;3=32R6_PVB,B>6XRHF\JU'7<(USFTXMCF"] M.M(1)T5H[H]96RZP#,,156PK=*#"""B:#XH60*$U6:VE%JS76A[ZK*6;3[<_ M!]IB@BGJ!M(JX]IV8VRJ>I/?8>88KJI*=?1+5%TVML_D0*UA8+V(\2V/7+HC MU]8C+$..I'U$ E4D0-%\4+3@(3%I\E8K#GCV Y^J8%!5 A3- T7S0=$"*+3F M0^5:Z2!ZI4/_<$7O/)144#0/%,TG;7%F1BSU T7K,F'2=O6NB5A"%:K!YJ,"EM20'/'&46>J!M M^J!H0=\(FI34)WNB/]G_)X(L:1]QIXZAOJBRT'=M<*: ON(!BA9 H35)KK4! MTJ,-_ @]5M^'P0G;/GV/,7;4YR>@C?J@:$'O$)ILUA("T4L(/UR/)1UB@&E9 MQDS-9]"W/$#1?%"T JM.0-J<83HQ9'OD6/UT(/3%%0Y(6W%9JI*3CYHDT%/ MDTV":IV#Z'6.[Q=C]0T,I@D2S2-=ZHFAOG+B@S8:]#;:I*H66<@@D:5#D+4[ M^9GVBE$=)J;A.L16]["VW1C;IJV&LVV&L:76L$%7J]BUS[W^2VI5@^A?I!BF MR'8'K?U2@64X]LR>VFKL0&4*4#0?%"UX2$SVC$U.?N@@?_@BPGTG5A&4L)5P M-9ZY J/8_Y9D?\/S3?7;AP\YYWE:7:X9%6N0-!#?K_*Q[?<_%=;RODH\H!-'DJ"Z[Z3JYU=>FZ*LVAI*HC M*N!XLA2RI!I-N7)5)8%F%E06KN]YIVY)&7>BGO7-9-03:UTP#C-)U+HLJ?PS MA$)L^T[7V3GF;)5KXW"C7D57D("^KV82+;=ER5@)7#'!B81EWQET+T>AB;&"4/0CP:XSKK.YY)" I(M6&@N&Q@!$5AB#"-WPVGTUYI@/O['?N5 MU8Y:'JB"D2A^LDSG?>?<(1DLZ;K0<[&=0*/GQ/"EHE#VGVR;6,\AZ5II439@ MS*!DO%[I4U.'/0#R' ;X#C>.[Y)X3'"73&^NQX,%&LD"E]OX;I&0Z15))H-Y M/)G>C.-Y\IG$W^^O%[_(T8Q*X#H'S5):').OY"-QBN\Z%2UE>%AZ\R?7^I*II"W\'&5B WX$2?/G1/O6^'ZO!.9,^J M$K95"=]BC\9LPS+@&39>6N##R<@1XR03!1J*5"#K]W1\J @U\X5E-K-J$WD= M[P(_]69?71UU]CSJ_"R\V/^UF%J$N]=.)[I3H)V,HW[R))85>RH1#4IN>+Y]?<[AZ1$V55.>AG@SGVQ2Q27LZ_4BZVQ MG]U:J49\V925>WFP;IKZV=&1R]=J(]W(U*K"FZ6Q&]G@T:Z.7&V5+'C1ICR: MCLK5N:.#H MU8M:KM2-:C[5'RR>CKI="KU1E=.F$E8M7QY<3)Y=SFD^3_B75EN7_!:$R<*8 MS_1P7;P\&!- JE1Y0SM(_+M55ZHL:2. \5O8\Z [DA:FO^/N;QEWX+*03EV9 M\A==-.N7!V<'HE!+V9;-SV;[#Q7P.:;]B#RUC5F$Q8#@HVN M_'_Y)= A67 VWK-@&A9,&6Y_$$/Y6C;RU0MKML+2;.Q&/QA57@W@=$5,N6DL MWFJL:U[=7'__[OKM]=7%NX_BXNKJ_:=W'Z_??2\^O/_Q^NKZS<[MEP)GXR5;-VXDU5J&*X_@C =1!.(X27TT)ZRH?9>+UT>71A?BX5N)&+J75)6WPO35M+9XV&/W[W\ZFT_'S M*[.I977'3Y/G63=,>]X?W#X8:5TW0MN'4=/:,/P=QL5K5)M::PN9"9 (2E6I5G(4I18HRQ-WLBJ7<(&M19$8F +[1JK%VU# TXN57,G MU&^MKF'S&IYA0"<+TU?*!B?6UA1MWC@!4RR(@L!*J I/N:(EF5AJZQK,=[6! M\MD,!J/4#6PM[U:U.<"Q@,1^5K#DC-VB=9 /YP(AE,/.X-%J#0K<@[D&!W'Z M5C=KX$, ?!K=@-$_J2\Z-QG$H)*$/[^I-('\3ZPKS 8BT<@2)'QK994KSZL? ML4\K*RW](PQUZ83& 1V>L.=E 7.H.ICH=:$M+#H(5BHF!>W7DQ),S->RJE1Y MC\9X48-WE;*04,-:(6!=02Q_/I"RQ2%-N2,* AK,'$'0=97KFLZ"V%]!3DP) M+O-^1#^9YUX^B$(YD;UR0#SO)N)AJ2N@K2$.#AK#O')B+6]!?:4 EE4XUHL4 M;6<+(A+3F2DL5@I0R[*\H]>JIBUI7ENQY-0]A$\/OK^X^' @(!]!$W@]#49] M8%QE797/5'8&=I"5; (R@+'J34 "X&DMP>ZH#]+)E!JN(4W=ZIWC$]>W:$ ',M@+V MKETX76@8E<@]KRD@K(=V0'[I<"KTBDB\N&-JC,0%$QIPD%AB\9THC*A,TT$$ M>D= =.6#'XXB<-C2F 93U<-]634A?2TPE6VA]W'?ZUY;Q3E[!.B8CW/ M1<7^(Q.5RF%:R/X07992VUW'B3IQ)DP9I_X01=C(&6_#8*,;(]S:M"6X SF' M(2;0L-NO;>4CPHXPB0^:G#YW8F/8C.;8%3)'"EXJEB3/V:_2#^(U))IG1\&. M8T@4ZZP9VUU\)1%M@[N2SXQ'FPC?Y^0.7W/&K M4B1$)E>J@$NP9L,@D(>@/<)!6U!?/#F=9F>3F9!+D!(*")9L8>'P&YXBF!^" M->\L' 1^J0*9U9>:9)*!?C+/)F>G(Z)9B!I2DB4[.RP#VS3),KU:MB0;&SHK M&!CPW]PJ>PA-,RPO<,:=L:E;,$0ZIB%$"AJ,-Y"VX_EQ=CHY_V-DS,C%(6^) M^IK2#VJ3,I!63\ZRZ=GXKR#:&:**D7BS479%9R,];*RYC='-#0VWM8/>9ZA3>#<+0 M']Y?WM#+Z,2@<0Y^)E_#WGFHH$PK32Z3U!8LW=1>W5C>;N&+3.MZ]Q9=0[!, MO<,%>;VSJML%Q@)*FHT6,8W-:B-V8\[^SAL%=J$(;'@VZ3GI98,PC)X7*@&! MAKWNWMWS!61_&MC+8'<&((-(-R%SGH_G740@[4*"HH?OOY3PF1TUQU,2*81M MBF.NO#2.,PB@N HQ11\5@'AY2\DX0P7A"!$YAR953]M>E0>0$047C:1H"0+]Q]#D5'*Y@BQ0&AS-=M0PRV%-D$ZWW=:UK&$.T6 M0Y'C72,_*SH:L;%PPXD*E YG#GV5T$DT)V0EE/O1WG"!HHL<0X ME8QNV8VRW&X!(\LSGP +O*&-5L'3W-OQ%)Q4<_>C"U)6^)U'@\-$'N"'Y!*>FHM@ M@N #&F3LQK/GXI,_^(T#>3@')"?KHTK9].S9'Y;MQ#0H+:%<2:];A.>&%$9U M1['2(TB(YM2S@"$-JD\6E9#==-D!YJO@[7,)?8!E#VT;2<#)%\4W1(ZE5HBJ0ZH^<2 M*HW$6XH2_R5+'/.3DH2?ARL)AV!:O%&@,U>M]FDDX+OHQ>2FTXHK@_/@DYHT MB[NXZ;.XCZ:&[$! LKV'$\*O.X+#-?T(2B 2>B;>+Z@.QJ*MJ[IM E^A-&05 M*//AX!AT_*TUOKBA4E/;: MGRRNY9U?B1%+&4J"/(=8AKR%_!(G>N.B%HW'.$? P X\,0/1KW;&LFTH6A6S!ZY90C?!8N3@MCED>:^ZNK(G M4 3)T]2;+S::?&;(B1V[V.28M5:6LM2[H)KD-O=8]XVW5@69^60'KI/T%0NN MF#SKO.'_U_\^M8^=E&[X-61ILX# A#?S!PNOHK#'@<0?_)XY%S[IC8_1Z Z? MI_>>9W]X&8O$GV?K3P\TL7OU1$Q/LMGI^+$!-HK3YX^.3";C[.1T\NC(_GU> M*P["R1.FYO;I.TJ#3K]+5LRR\?GQHWM^?<8\FY_\N1G_[?]_[ W,?[_1^';A M.9O/'F7[U][_N9&K/I*/M=00NC*DTZ&8'Q^?_\YS[J^99=/)MZG?OC6<(_JJ M8V5\(6!)U< ^?[D?H2EQS=B*?!G%*TX4*&ZI/X)@U[>%$6TLP=L#QT M*B/Q2FBI^'.'%#?>.[AR7=>GWG.$.(O<)!'$JN MG4[XM_(EO#Y!0_!I=-4ZKLWSWI2O0',51, M$5/V8AO;/EC5MR,+16$=EU]Y5=>YI13*K75=4PYAJ0X%SJ9R%"E+!/>+$G<7R"A3#LP0V%4%31[375^'21LDN(%W>A(D&,+6BFYX^7TKM>/#*DOI1^4KH:4KXL%ET, MDI.&6427%!C7(>QKL@$AK2E-M0JT"5AT!:J*)^R6LZ2HULL8M3NX%C<\3E>W MQJM2*B.&-N0T5)( M#?M>B3F)EH3Z"JO0'$9*CD0#>4C19\VY(3N"1(JRI((-)5<\PSS-E5M.JL 3 M2JI"IL+&S1H8#4<&92MM$439M]X"#;V@13G?3?B1>.WS,:H*,@O9R^B*'$35 M1,D*-2:N4%,+R%&&VA"$M7&.&Q[,P+YBQW4UYPOQ'5QRGYGAPBTW8'W-,AQ; M*6F9Z)X'/HO;)T&D;EZ\(_V9\8$K1>"&9+ .&W-(_P>,R0:>SS10GXA/X9') M0A>[NVJ3LL#]$?IG+/,)E)QUYNVF]:DQG&F3KP_;.G3L=><+J$TP:*8R[;PN MF91IB4T;B5^B-XF9>9S$8#+.GFV^[;S/*\# Y'YG* 8)@TS*]+$61@4ZJQ(: MTM1H@]NJ5_3]OH<-\2,X\XX+194(Q#RW7!0;1]2#%57ELY$ ME^PQ[V'V[MBJIK7A>MM&NUR5I:P4]?+R4NI-Z._U!IEODY"7B_P(, 3+.>1, M9P^@^XVQ'++8J$3!6PX@\&<.K:(OT[A0301Y>A0>+@VQ2Y5,XO7!UR5&O\,B M(20(W'68P\68@14D58"1!BNHS\9V03=<>K?EUW!Q+497 MQH:;:KY7&:%AJ^)XF8]OZ-[ 2%RMI5U%*E!H$:_10;$+=@O<<28?$3J>/Q"P+?O8V3'+EAV0DB>OHLO0]<:.JHQ)&'IBO&P-RP.*95SO@\@Q9VB"\5OO[X('H#RIG1=UK7!7+R!U6LV M@C=_:6?3Y5NL[$C=ET6#VX9=7= M+DTOMW**V5UHV,:-.A_D+4"AEFQR-'5V)+5,?$9E[&=L2_(/4]:O#M>RR>_0 M;0F^.WJ-81-]R 4+K@) M_K;A/U!I^\A%E?1CA:20$2=Q08/K%Y=JI:N*[>@0Z;NH7VGY-CL]&0^>3R9C M<14"LQ#N!(<=9ST]G?=%K*>3R<=;^.3PF;;P;TY'P^ M>#X^[DM8[^ HKWTSB*Z.W=#5,?X&((\]HNY&F2\G;!!R^UH%IZD$!#G;,'GA MT](M?RE#Z@3:=GR7/)]GY]&SOB;]\ ]4..:/) MNS7S,<3_#)+52]KL-#N?GV3'IR?B34?2CLJNNW?^^]7^A@A\Z(VU],G;_2FS MDVDV&Y\^&#\9GV8GX_-OQ+$(,I=@>7XVSLY.>OV9,=+9Y.PX)7TGG0^1NQS0 M[8D8CZ:SP>/DK)/UQV?%Q[=!@K^]A)QQ(YH&'-Z>I)-)W[*;'J6S4_G M?(.T]M>)*%/@.G=*('^9K]&''5=#L.TO3J5W[3M7%U4U)"75#II%E72=':#" M,MW43J^Y?!C>AMK_YAV@^!\<)I>/1Z?&!L/XS1?_0F)H_#5R8 M!I$Y_USS%TLT >_I2X?X0 =TWXJ^^E]02P,$% @ ,8*F6EQ5"#+&" M!!T !D !X;"]W;W)K&UL[5EI;]M&&OXK ]4M M$H"6>.B,#\!VF]8+I\G&R?;SB!R)TU <=H:4K/WU^[S#0Y0LR4J:_5; L$C. M>]\O>;E2^HN)A1?XY^Z!QUVNH1'(A4B-5RK28775NO#>W?8*W /^18F5:UXPT MF2KUA6[NHZN.2P*)1(0Y4>#X68H[D21$"&+\5='L-"P)L7U=4W]K=87W7&'1:)&2^2_*-:_28J?09$+U2)L?_9JH3U@@X+"Y.K184,"18R M+7_Y4V6'%L+8/8#@5PB^E;MD9*7\F>?\^E*K%=,$#6IT856UV!!.IN24QUSC M5 (OO[ZY^_?G^\?[3_?O?W^\[.6@2,][885]6V+[![ #]DZE>6S8+VDDHFW\ M'B1IQ/%K<6[]HP3?<=UE@>K5$3(RZF1D20$-6-Y M+-B=6F0\73LLQ$4B<@#18][B DC+^9,(XU0E:KYF]VG89:]^^F'L^^X%'=I+ M[^(U^Z1RGH 84CH2FA,!AZ6H/* 2YP_)I]2 K WB%%9#H7:;XCU2Z:[_C^\+"1:C"( MXCD#=]P\(*U+U<"&Y7R:B*K(RO\*8TTVDRF(9H4.8Y0PEFD9BAUI>%IY=Z&* M%$;5(E3S%!0BZP![9(S 2:,WH2223V6"8!!D8K"UWHME&+.8+P6;"I$R>$FB M@A)*3I2D9C..?TN>%,*4?A-/(4Q+/F[$W!90+<57B<%DJ82.",:PN5+12B9) ME_U:736*V1!NA[6DH J3@E 1703S0:NH"'-FQ'Q!OB2NZ"#47@PSZU3HN66. MQSR*+!F8/!%S'J[9'+4AC^UAIM5,YJ6T:VB=@0#96*L%^$BS)4<>:U7,8P+C M92-$U"N$PPI-0'^Q9@#-LE$(#5.>&MH'P^Q9>!WZO0G#)E*$7-JPV\2HCVSQ M40N6L)729)E=_+'CCH>34S*A84?" MHKJ06=\\RZQ@PMYG5DUD2"(HN Y0]9Q@.('<.4_GDE0Z!#=R,/AL0NG9^=@9 MNGYEYMV(W07NCYW^T-U8-./K+7,V*@<# M*%V([XYTKT!P/VH-+Y.6KD@JD= MW8_A3H8C]K.8"4V"YOSI*'#@C">#2LE]*?A, 6>"J/A=Y =-?42\%"<)3 ,.%E39,[ =646\N'"A2J&Z9@ M5A@Q*\B82S*C%M_4MU[Z_54KB'53L?Q>V)X!G MIWWT\6 +N#'YOMCUO;T,;)2U)"DS\,5"1^VO0(:63B)GU)V KL^J1$7A;6HQ MO#<5+%7I.>H_/&[=9GL%T@'=*5.&/']#B:KS>BS9;2)E.#;-C,^U$+8ZV=C% MY$+\0QTGFS;3=;L;.", M)B/VVJXP$4"!,BOR @$6%HN"?(T$H?IO>(+(BPIMAPD:J&((?KX67#.4$:F0 M433M[TR7HR[BB%"XW0G$^1W7B;*3!CU=J$@DVPFZ&0KLA-+, [4]#ZI:NN>, MQJ4!I0?@=R;=+GM$'LJ9##FPBU1-:7BW)56F68%,+>Q% D+ M:H?!SUBV)177 N&G&2_R&(-%7D;NO) 13\-2OI9B%5M*GS)CCT;6(>,CXEHT M]QK88:85:"/(.X[^TKPRV9)B,)ALAO4DBSE[Y#,!?7=>$[P54VVKI]^\* @ M+ H6B.N'[_BN8$N,>UK@,25*!+YET[PU:(-]\]L#S_6= B(QJTAJ%+RGW->JW;< 3QQM/7MB !_[H M;VS GC,&AU-W8"O.B5LP9JNA?\(6/!@YXV-; MV$%.6H3AR)'[C9LP]M!1TA\&>?;C*Q;^[#U&ULQ5=M;]LV M$/XKA!L4&Z#9DBR_I8F!Q,VV &L2Y*7[3$MGB2A%:B1EU_OUNZ-D16F3[*4% M]L46CW#PKGJ>#2R:0$EMT-=@<*9C38E=S@T M^PQVXA^K&X&C4H62B!&6%5LS YG1P%AV?)Z3O%3X*V-G>-R-/ MUEI_HL%E=CH(B1!(2!TA+.>B6),/^]P']9^\[^K+F%E9: M_BXR5YP.Y@.6P8;7TMWJW:_0^C,AO%1+ZW_9KM&-PP%+:^MTV1HC@U*HYI]_ M;N/0,YB_9!"W!K'GW2SD6;[GCB]/C-XQ0]J(1A_>56^-Y(2BI-PY@[,"[=SR M]N+CQ=7#!;N]6%W_OPKX@9LA&TN/-R[/'&W^9E Y(\#T+;X]A6/(73 M =:_!;.%P?+MFV@:OGN%8M)13%Y#_Z<47P<9#]DS..R^ +;1$C>@4#ES?"W! MLDQ8GN<&?0X7 3)>,:N70'F<=%@'(V[T6(>LJLN'X\^1.,PB,+I$\DL MF$_#3D)!N%2IK#,TY%*R]\(Z(]:U;X!/\?ZO+"KA4.6.\OC$N7 6Q*C4E\R# M)![_J[#^M[#=PA94#53ZE=%9G3HF+%/:T1Y)I;:0!8Q;)KQ)7_A*% 28MEF2NX\T-2J,#X0UJEP/1:BMS'K%7B!C R M3MB-P*7T%JO/X>$ZQ/"B C)Y1 U(@"R:H!A(=:[$GV@%GU. S/KIABQKJ6,< M2-B<5V"&7[E+RXNF,C/\P,,X/3B;@MA21PI\$Q*>#FW4BJL]92B:O;-$+L.; M !KCE]529)S*:,VE=]>??TW0G7:<*!U%DV ]ZO152?/O MD42YQI"TTB2@)%3@;PQRWW-']E)*/E%T#/F$V!RYE956E%1<1_LMWC?8%:"Z MV;?RT0:02ZROEMF 5W^.U!_VA0&7;)J&;?ES:5.ZI2%Y(^]^0;E,J%*;N MD&K/CU9Y'I**ORNA5^"_R+.I\;.O\_U2/ D6V%)\AF=!,ON6#-]^7>Y9;?QQ MB5R=;W)ET^3@BR;G%_%;];"#^Q%(GPV3Y_D5*;;#B:,8V]6,&-&=FAC<]-)Q MW=O89\]X&[ =L()C1)(8#ZF(-$R'5*M-+3=-S;U0-PA0" 1L?>A\\EUDAZ9L M32G>:I%2V6-LGY03V]2N-KZ$A,ZP"N]]+SD0>*E'4=U(4?JS02NYIX["C>$J MAV8K^.5+>J50/O#:C7B^*-$__ACD&G-CV-G=BMWK2J1L&DZ#+K<^1ZNN>>Z$ M*]BJVXX-231_[C(WZMVP43OW[PBJ68Q-<]GNI-U3Y:RYH3^J-^\"6?P%02P,$ M% @ ,8*F6A6S @ 4@8 !D !X;"]W;W)K&ULK57;3)P=?(4" F9#+- ]),R1-GH6]8$UDR94$I/WZ MKFQP:)O0F4Y?D':UY^Q9R;N,-DJ_F +1PFLII!E[A;75, A,5F#)3$=5*.ED MH73)+)EZ&9A*(\MK4"F". Q[0O)R.ULH)+O-=@5F7)]/Y&W<\SXLK#.$4Q&%5OB ]JOU;TF*VA9^?1<)JZ^#K@B>/& M[.W!53)7ZL49-_G8"YT@%)A9Q\!H6>,%"N&(2,:W+:?7IG3 _?V._;JNG6J9 M,X,72CSSW!9CK^]!C@NV$G:F-I]Q6T_7\65*F/H7-DULE'B0K8Q5Y19,"DHN MFY6];N]A#] //P#$6T!:_X@,2TJJ) M=VJF\4'"6Z8[D$0^Q&'#>HW> MY/@HZH5G!Z2EK;3T$/O?I!T&IQW8P\-C@;!0@AJ,RR58-A<(!JTAI[8%L%W+ M@5H EVN45FF.Q@=CF<4GXRZ.X[(C\.!_!,@^.$RY-*JPS-&V+@#\*TM?I^$DQ#YI_W>GJ,?^TDWVCG>^\2"O3XO42_K M:6;HR5;2-BW?>MN!>=[,B;?P9MK292ZY-"!P0="P<]KU0#<3K#&LJNJI,5>6 M9E"]+6CHHW8!=+Y0RNX,EZ#]&YG\!%!+ P04 " Q@J9:P?OR.@X& !? M$@ &0 'AL+W=O71WM M[EFMO3L3\HC(6L4HVAG S55+(T MMTI5.?1<-QQ6*:\'^[MV[E+N[XI&E[QFEY*HIJI2^7#(2C';&]#!?.**3PIM M)H;[N]-TPJZ9_CJ]E!@->RLYKUBMN*B)9..]P0'=.?2-O!7XF[.96GHF9B>W M0OPP@[-\;^ :0*QDF3864MSNV!$K2V,(,/[I; [Z)8WB\O/<^E]V[]C+;:K8 MD2B_\5P7>X-X0'(V3IM27XG9)];M)S#V,E$J>R6S5G84#4C6*"VJ3AD(*EZW M]_2^\\.20NQN4/ Z!<_B;A>R*(]3G>[O2C$CTDC#FGFP6[7: ,=K$Y1K+?&6 M0T_OGW[Y'6JL9.2' M66?UL+7J;; Z(I]%K0M%3NJLP8_IW*;C*A#/-<+GK$W MZK<]LO9&K[SMUJK_M%5#H!TU33.V-P!#%)-W;+#_]@T-W8_/8/9[S/YSUO\S MYN>M!MOD5PR34R'R&2]+._KXQ^Z74N1-ILDQ5UKRV\:6 MAQNATY( !?2 M!?Q3*91:!"JM<]3*K*D:X$1T>#5-N30P20E!A'7&)"-;- @=FH16?BMR@CAP M4*75E-DZ6SXX)%5$C!\CM>(T")S(]U[478O"-CFK-9*+FZP[ !KX;FDF;6=4 M@Q5A(6-2XUSJZBC,2-;Z7A5\JNSJ4^S1! #QR! LHEE6U*(4$\XZ@2Y95E] M,JV$U/RGS7]QQVQVL,C$%[\:\YII],/#R-NAF^P5B.S:.J(6&'V^_,[-WT>_6>&_["9=G M<"KH!%,(FUXI$1O38"VZ?Y[ZF^X;Z/2[]V^V"8 3?E?Q8(EP+\HBV= OKH_'4>#X-"$T(C=S8CWT.J&/ZN"3=S1TDB!\3_S(B>*8T!&Y,6QIR3,7IJAO M\0BV'1I%[PE*LQN2A%R(^D,F*I &.3J1)N^7"RUU7.IA!7-[WY?:#VN[ _S8 M=UQ4>\!/ F?DQ09^'#L1X#R6/GO,JR<]^-0F#'K:X^B&"W/=\;14U%WJ0'05 ME?%T'/N_G7VO==]\:/Y/I%?X.I/.I(5(8!"\3*3$JN+Q$HI'C!6VZ>DX<^09ZXCJC*'Y=$H7A M"HDP?)9$+JI0O(J*NFA(_/7478D_N\=7L6*_WM7: \]28H;S<,MSW*3KA3SP M>*W]P8'9=@-;J%"1WTJ&B6NU>8W.(+>.P;FKM)$V[1L:'U':6=N$"\ QMR> MS:+DN26%TKBU(80:/NYEFVMV"1-GR0KSS8W. >L@'_L]+O<43'*LMVT_!A8= M3[K)11L#.F\?%FN8'PFF:\"E=RB &A\Z5J1F]QKRC20/+)5=$V7:EG2L01ZN M3,/1=A_/D.WQ_'TJ69J* M8]>X:XYS_B) "H*BCU-S]8!YZNMQN/31CZHQL;\V3"/6U+K]_N]G^[\G!^U/ M@X5X^^L%J3KA2(&2C:'J;D?!H&TSYP,MIO87PJW0*%'VL6#@GS0">#\60L\' M9H'^G]+^OU!+ P04 " Q@J9:>T\=B%0- !J*@ &0 'AL+W=O>+(CDLJ6Q=(?!@=+G;O_\M[K MH77@=+3AP-@?&#/?[B+F\KTLY?D;4ZR%H=V@1A]85#X-YG1.1KDM#=YJG"O/ MWW^X^/+FH 0E>CY(_*D+=VJ\X=1$?"KR;I6Y4SOG/_\4 M'X_.MO!T&'@ZW$9](T_;3QWO"SHHOBR4N"R6*YD__/S3Z3@^.;/POFDIM!72 MBEF1(;[L:T$O1Y.SO^P_+),L@FG"\GN5J.54F?K-H;A=%*9\62JS9+[ZG%Q6 MQJB\%"OLHX L9H)W9X7,PZ87(HZC\=&HOS!PO"@7X*#>&4^:4W&+U0ZER>DC MTI.3(W%5Y/-MG-^HNR*[:UW%%AB?]9Z_].09QZ/HU>2T]3R)3B#-YP[KXZ-7 MK<_Q .MCL!J_.NFL'$:C42R^YG))*OE3I@#R:M@.1"SN=&S66IQ,KH/-$K7+B2#T![\$>6K4R/ 76?9%5*Q)XE9H3; M#5]F%&4G.H@_2BP==.$6\NB(M^3JOL1^W/J@I+%,DRRDY PCAOW=(Z(M9.!M=/V&KD^UAK_B$]'L/O(6VE ?2V3C,?1T4ES M!%E@0[W +D@N_NU&V MQ#5IGXLG^6Q86Y,]IP_B5L[@B1GH1N+JZC(B^)P6!F@.!?3H7?@W@R)&S%VB M3 FKB[18@D^=P-FG5J<:MRCV,SK1(<9WSBMI)(2%N_5N_6=XU]R;0.%0 94R MN-3 9*AG4C&K<@Z*BMTN7-73U%J7"W']NY-7IJ@E8 XCJ2A".&)')"R%*B4@ MD9'NC1./PHHN"&L4F(Z<54!%^)X#8KC $3%').Q;*5MKP//_0MR*G@"GM:%MS5(+N4#YZTJ%;$V(OXI$O> M<+KI1\K +3=A*UW5W 10\%CI[Y@XT"!(S%19DIG@F+4&H=^:EV9?RQM(#&9_ MF/^XRW^J,OE VNV#1,7DPMZJ-LRAB:@,04(?<5^Y M,%B9(E$J[:)&XTH"OJE$13 $0.^\E9T7(@0AP5!/MN%A7@@Q'*FA>PA9JJ& MXGOT?!8/<".JN@B4D53SW+=2'/N,UW09 _;&Z-H:WIG%S>"5HG8 )(&C?^!* MXJ_&6*.^5PANSG01O9 &0#E7CJ<:@'90IN(;8P+DF,J&F RHO@B,EQ1)BN R\.P4@TM'U0L,5 MB%CBJM?L 09Q6Y'.VM@7H(<\F9M6DFXA@<[.KW&K?1+DIZA>R""*X%+(4BC- MT$QX)KE])0GA9UEE64.K5:83=F:49W-2,+1) LY,L12C_:/1/XB/F#^L*)+R MO%J*PC@P\UAX^_GCS0\1CFO"XRYA0BZA*'X2XI48YHQ7#G0_<$A;9#KEPJ#D M:HAJU*XIAS1,'1-YGO>EX/^R940*AOKB*N>(:_"H'%/6F4X_QVU!ZP*5QVNS6-FS6NA,!KL M8\=018_&I*+\.E78PP5XMYN,7-02G:G,&,G22I';,E)J2N&;T4.'$@J(&8D_ M"LWQ1;KV=0E5'RCX@K6:JDIP]3> +V@RU(K,#'2Q"E$+A4S)-6;:V/(E%QZ4 M*O@=?0C!AL-4]P&"2TU7P\>R6DO26E4.EX+!-QYSN&K5+IO*X=N:"UJ]AO%@ MZRZT;SKI+W(G;RLJE^Q"K]I5$8>AO,SYI!G5*F"QTY@_:7OE3%0 2D5-!5/IA'#GAH5RPU\4VG'(=SW,,COP$$X8.5 MGA['%ZDOTU0\1ZZB=J$,F0HSE[G^4WK]I$52>:YDPLTU%Z$+2K 4#S)S^L\4 MP&@JDV^=RTBC=@5'\$^T8:^RI2QFM.DM2^\VE)TU:]1*Z;Z7L8#%HP<^=Q M#:36<.A2).H+@? RK+6 ;!Y.A0O"WMRLYD6S0:;$*J54>%?*90Q'88L&NS3I M'2:EM$$SB_HULU3/2ADDWR'DJN5S6>H94@GRG6Q@9RHA2GC)? H%P%@7W$Q5ZHE2@<:.1"2H.5B(1;JF29 M]G$=S:BE&W8-EG2F;8*#7F#;&;E1[=EFJ"68_-\<85]\K S9C0KI;5')A9;# M9M6&?1?=1-9_A=)&\+S(7WJPH!VAH(A"MHT(_:A?B<2=+C)9%V:=A ,JXQ, M'NC%4VEF!N\!2)-\2_E-M0J>W&>&8.-N%IG*_)NI5F7B4JDF98*'I!8Q:@[^ M4:7S&E[SU..JXQIIILB()ED]MVO1K*%N'5C?M]4JEIDKB8@-FX[XX+WS%:3N2/)*A6[+[TN;1 MMQQT40_3D(H&]D8.OAP'+\91?'Q$4G14.3AP>1&?C*/3R1$KWXT4N"78%Y O\7J"O:=.CA7"XGJR*"V"! M4Z(4%Q #;K+K#]!K]Z:E(NL'%ATY7-)C\_34VQ]S7;[_O9[9]<>'C[2UVY\* M;AX*[G7D;333T61WAKMA4WOL]5N%)#B>U).R+VTI'YFOT][5;5S?3Q[YP)-] M3??.KF8WCEW\% 5Q_377W'BY672*9$M?%X&-0+)>:V!G@X1U?;/6:!1[@YOV MM ;D:<+2'8Y$FVHG:E4:433)P1N5[ [O71B]A5>)@E[XSR'. *WV; MXZI >DF3/_H/\S0>OL>D6AI1W!6 D1E_P\,RU8%Q^?[S31.&ME/^;K^&1*$V MQ:0\.0@%]P9U.V_KSZ7\MX2V8W W4]PZ ^LK.=BK18C<<$BAS18'E5L'8NU; M>-3V^ +HL+6V/:[:HR^["6?\1(S'AGD] &,X>7(NUIN&DIERGYG#N&NJRK52 M>3WQ(BDVC+RJNA"BBC1,5/ZK"5C4]$8DU0KV]9,^J ,GPMS-7_)XDE6O$_H_ M0\E_Q[2#.GKZ.HYK5+QX[O#CZ<%&:T? X>:[-JYKOY$E?>WHZD4*_/3.M5)E MP9BB\SM 6NT*D2LT&4YA:DMMR0],0 9.6E^RE@6 T_I'SG?C_8 M;'>_POS$29$*TQF.CO9/CG:$<;]L= ]EL>)?$TZ+$A'!'Q=*0D#:@/>S L'C M'^B"\//2\_\ 4$L#!!0 ( #&"IEH>%LS*, < +44 9 >&PO=V]R M:W-H965TV_-34_I,:?G>@BOS7-C-AWY:B(6\E_YC M\=[B7;?6DJI<:J>,!BOG9ZUI[\W%@/;SAD]*KESC&LB2F3&?Z>8Z/6M%!$AF M,O&D0>#?@WPKLXP4(8P_*YVM^D@2;%YOM;]CV]&6F7#RK2F\.#^U9@66=J,VNF!361K!*4U!N?<6GRJ4\^>75W?7GZ8?KC]= MP?7M_8>[CS=7MQ_N3[L>==..;E+IN0AZXF?T].'&:+]T<*53F>[*=Q%3#2S> M KN(7U1X(VP'^KTVQ%$\?$%?OS:TS_KZWVUHT#,XK(>*Y(TK1"+/6E@%3MH' MV3K_Z8?><73R LI!C7+PDO9O0/FRGE$'#JN":^TEXO9P)[R$^Y4H'/PF0?)R M"DI[0S]ACZ4]#O> 6%@IL1B] ]RPE.E" E*"3(3S*)93\+/-GF0A-D$$R\^4 M%N:9$5[I17B:RIGOP$?,%PM^*0$E<]PZYYN7(;SZZ8=Q'$ MMV$ED3$2B07_"(**-R4HI+_W'X8,][^^NX-7@TX__A$$GXZ)ERSKS'O=(>\L M1R1E&]$'7&O1A^1!LV M6POZ7]0Q&+8CU-'O3*(ARKZ3,ULBMT-O$%Q0*[C$:#"\.,";H'!_W!Z/^S#H M1.,(A;=:+TM+'N:46**#0W(Y3%%DECT7MVF;E1AO_-'F25C\4GB0ZT)A;G,D M4^G40@O*63K@0!@QHY>4J:N0Y:X#4RB,Y1Y2):<([EC,JGXI$(H/-1N,[[.<<:?5G7V@=)7* L/(BLE64(5N6^_VI9)6:"2 M_\H'F4&,9Q8EMOY0"6A,8M"HE/F"E)B5A@1O%%:K!OV+*#MPS>;3H\)D*MD0)\FU3$KBBA+S0VGG;1EL6J&7 M*BPX(?CE!DW4GQW#U,:S+($*X4"SU(/@FILK+72BL-Z:ZI#UP!5X5A9V%:4M MC)/!/3.9*70:0SM 80WS-X@KRU Q"R3!&)>9G-:0A^@ \PL4PM!6>>@9(XD MG8\+V:P53D 9!!X4U,[(KY!TZ0>5<&E^1@;I*%+194R92LF&0 M4Y:?B4P0!!YX,+2"2S;0LOM^OKVHU-_S/#Q-.%ZN?KS+/8^<5JT,X-=0^>PH MJE8G&])'$+<'H\G._6@PJ82>;#[N-8FVUXXG8T)D2W1#IL1,98IKJ"'1;]S0 M52\^J;0?%AA%HP,2VY4I5)1&6;[ L 9FHFP1ZS;]'_7:QX,A)^)1W)[T1A7# M&?LMK'BH=;+.)_YMHW(J/4*4;4)N55R,&DC9+D2"LM#JKP#F$(!7)/2:F-SD M/-!\7=MA>!QQRL"CXTGEA%Y[>#P^@)(Z%#/Z83<.1Z,@/Q[%NQUB;DW^E;V% MR$L*2S3J_H8E^ZBG!Z*"G%-@9:^YF'$@P*#W>V/N1&L2I:9JB-*^QX;]?@CF MH1H0M5Q[P!DEF-,!?"W#ERX-;P,Q;>!G'DOWIUGTQ4I8)A)O\2WP\ 1[(]2V?J^?+F]]OM3(F4J@UV*;8@,8Z'!6>P/= "]QBBLZT:5\ZP12J/+=;JU^!\IE0IO M@7W?I,VY2>% #2HO.&;;[<\5!LF]Q:,$>H+>%IJ]]S'RG"8"H^MQJ-#;:?Z1 MPHXF ZPH?)?^_;:*6TU@HLG&3ZF.:63XM9P;J'.+=^>49U6STY\AL$G\_R+8 ME\CT,-1^;U!UI'\7EU+T_E$BK0UXCD /?:_H-CXEY=(N^(.9"X-K^*I4K];? MY*;A4]3C]O!!#^U=T"R8R3F*1IW1L(6$Q1_)PHTW!7^8FAGO3T 'UE\KS_P%02P,$% @ ,8*F6L7F29AF! !0H !D !X M;"]W;W)K&ULG59M;]LV$/XKA H4&Q#8CIVT06H; M<-QT,["D09*NGRGI9'&A2(6D[/C?[SE*=NPU-;!^L47R[KGG7LGQVKHG7Q(% M\5)IXR=)&4)]V>_[K*1*^IZMR>"DL*Z2 4NW[/O:DY(FW7D^0TV6[*,_'==R20\4OM5W#JO^ M#B57%1FOK!&.BDDR.[V\.F/Y*/"WHK7?^Q;L26KM$R\6^209,"'2E 5&D/A; MT9RT9B#0>.XPDYU)5MS_WJ)_B;[#EU1ZFEO]7>6AG"07B9K6/OV+=RHY@,6M\L%6GC'6E3/LO7[HX["E<#'ZB,.P4AI%W:RBR_"R# MG(Z=70O'TD#CC^AJU 8Y93@I#\'A5$$O3.=?;VX6CS?7MX\/8G;[6-P%SUQ%%'\14NIQ9VS&5&NS-*+QY+$W%:U M-!NAO)#:6Z',RNH5Y?@0*^F4;;S043-7OFX"0<[DPH:27'=0[T'R6::EJKP( MI0P"")Y$X6PE OI=!-O^ QT(PCJH85Z(S#8.@K80:>/AF?>] WHKM;0.7/2& MVY),[H4*Z/]"R"6FDXV#0. FC$%F1 MPSS&.&598X,HY0J\V1%R"MF4.43@&14%AJNP9M_&^W<7P]./GSQ[YJU6.;1R M42"')F-E<%3L^4D7J&@>EXR+\? G2#CB\]RH7(5-3RQVQ/9S72+2V])[I5[# M7*8(&/!0-UQN7'EY Y):R50A[IM7^9/65Y9""3ZU)8&HM'7 U1-]4#FED4IW]'3L(;Z0,UMB];#J(YI9?$W4G]H;C^YKXEI<$,X\:WWT$,9UM;%8 =G MVQ85O_DF*[FA%H^S^]];/E_F=[.]T>)5A?AT&+R--PIN81,!D*>66PK>73/^ MP//)V+6F?-GZZV(T8L5S7FH;D! N680:CZ#(^C]QB/E& CEFO;<&?G_O:J[( M+>,#A'L#.6QOZ=WN[HTS:Z_V5_'V@82K<,F#0E,!U4'OXWF"NHV/CG81;!TO M^M0&/!OB9XEW&CD6P'EAX5&W8 .[E]_T7U!+ P04 " Q@J9:<_BN6Q@# M N!P &0 'AL+W=OJO5 MKD:--@\V1R18E86RXR GJDZBR"8YEL*&ND+%*YDVI2">FD5D*X,B]:"RB.)> M[S JA53!9.1MUV8RTC454N&U 5N7I3#K,RQT,P[ZP9/A1BYRB<$0LXW'#&71;.N#V^(G]LX^=8YD+B^>Z^"%3RL?!<0 I9J(N MZ$8W7W 3SX'C2W1A_1>:UK<_"""I+>ER V8%I53M7ZPVY[ %..Z] H@W@-CK M;C?R*C\)$I.1T0T8Y\UL;N!#]6@6)Y5+RHP,KTK&T>3RZ_FWJPNXG?Z\F(TB M8D9GCY(-^JQ%QZ^@!W"E%>46+E2*Z7-\Q$HZ.?&3G+-X)^&5,"$,^OL0]^*# M'7R#+KR!YQO\9W@M>O@RVA7$B:U$@N. ;[Q%L\1@LO>N?]@[W:%MV&D;[F+_ MJ[;=Z(\A;!/ ;8YPKLM*J#4(E8(DRY4VMS*5PDBTD,D"0:I$EP@D5EQ15!ME MV03$V+MP%D*&*1I1[,.2,;IF!A*$GJ_0B5MPPP0-<;D#MP2^] KN:R-M*GV9 MV1"F%G0&G,DD[U*Y[_?8Z-M[=QSWCTZME[%&85JE^%BC(B#-B/X1"(/.?,_E MZVRX$GS]A2_E^=I#14VY-I)<=(VDG.4W[)=@M5'BS@2S#'WEMT&[7_]#OXW:XG*L<'4BTQ^8.J"9MUBUU923W-EFL(:W1 MR6X/D+=FC8Y#:?6!Z6N6-.=\X J3VJOCO'"CM3[ W^'100"F[<[MA'3E.^)<$_=7/\SY M04/C''@]TYJ>)FZ#[HF<_ )02P,$% @ ,8*F6O:U6/J!!@ BQ0 !D M !X;"]W;W)K&ULM5AM;]LX#/XK0G8WM(";V+'3 M]!UHNPTWH,.*MML^*S83"[,M3Y*3]G[]D9+MQ$GZLN[Z);%ID7I(D0]IGRRD M^JE3 ,/N\ZS0I[W4F/)H,-!Q"CG7?5E"@4^F4N7]LZ#HXN(UML%WP4L],HU(T\F4OZDF\_):<\G M0)!!;,@"Q[\Y7$*6D2&$\:NVV6NW),75Z\;Z)^L[^C+A&BYE]D,D)CWM'?18 M E->9>9&+OZ!VI\1V8MEINTO6[BU0=AC<:6-S&ME1)"+POWS^SH.*PH'_B,* MPUIA:'&[C2S*#]SPLQ,E%TS1:K1&%]95JXW@1$&'H/$$,+9-@ N1@^:? +5WT6!AX; M^L/1$_;"UK'0V@M_VS&G%VW7HR(XTB6/X;2'6:Y!S:%W]OY=L.\?/X$J:E%% M3UE_ M73>H'?9TZ7W:7 +F5>\N*!98 )J5D,RF#]85X4U13SO%*BF#%>)$Q. MIR(&9AWRL(AP6<8R&7,J">W9-?"K$B76F>FSKR4H?(3*UC+C6H/1=E4F^$1D MP@C)?2!@WS""H6.9H)08RQ1)NP)8+8BCL8QM-?#+G604(K-ZB MY ^DH)F<@[(+G=R ROL=9U.NF:UFM.D,4DG'/&-P7T(BR#@A321"+*190F2\ M-MHX\<"D8HH*=D].]RI\LO/^W<%PZ!_??/UFKX+C7><]0^)C.I7*[!&D)N0[ M]?]"F!3-VT?HDUE -@>6N]I S0RTWNWZ49&>0(]%$2L;+71A(A6F$D5>;41. M%(Y\+8O-\03Y)(/'HXZ)D !$@79>T'L._C(_6!\_"0\H:U9>TWQ01;*\%KQ MS"9$NUIW'8DKI0@&GDLAY>0WAIVS%UG M+7X@AQ>IB-.5[)&33,Q/D>71^X;FV0? Q)U@W=>2B)U; M?UZ/YQ$&>T3<:/W%@I$W.AQU!=$H^N-X7"T/Y?5.7;JZ^?^BLIHJ>$:J@F[Z M+,,0>>-AT+D_P%.ZDL7,TN';0&K-KR?N5I#-?^![AP?A-O$X#-F=)!Y[WHH] M^;$?=06CT;@5W#G6+67A^E;#IM2%"LJMNCNJQ!5@++4M5:9F)Q!:X-OB7-T#JTWV%T]("\: M^IW[(#IDWSGR.'7*[2::Y5&P5!V.1G6BK!H["+O&(\P. O#9D;C>' ^\FN8I M%43>M!07^H5]4:"Q"0<>?.]9:25KK6AC92*TY=.V";_%*3U+T3]>Y,".;5>[ MS^/ZNMZ;UA>$_=%PB] ?O]K%#0\Z@?W]4+[ A>#P[VW2:"FEW !M1&[K>EKA M% _TQB?R*E^?E2LLGBU=G08&.Y>U!X(_RVET:D_4LTL*'#=P/'ROS:T;N['%YC9;J9O0._1]$NXO2P]Y-2+1\BA#+QI;T<&R*+U1$)+H M<,GIWB@\I(@U>)7J8WZCPG\1/6_2 M]"6A+KE(;/JYR50W V[2M*\9\ M\.+<7GU=K.='.:'W;N@5_KV85,B1PZC;DL*H+8YM7RD&*Q^( MXS':;$3.!\D<$45?W^>-1S;]+-C9&E M_=PTD<;(W%ZFP)$3: $^GTIIFAO:H/W^>/8?4$L#!!0 ( #&"IEKHWC + M4P, !L( 9 >&PO=V]R:W-H965T)9"V6E4.5??)(G-*Y3,QKI&13NE-I(YFII=8FN# MK A.4B39D(H,'<>@='C"9CH_HOP;MI&7++"ZU^,P+5TVC MZP@*+%DCW$JWO^%!SZ7'R[6PX1?:SC:[BB!OK-/RX$P,)%?=DST?\G#B<#U\ MP2$[.&2!=Q-ZDCC"]U9)?L!:=%C9"U@C^*"5JRS*->["C@C?X7L1W6^,=8_K#Z;C<^C_D>EYK#2-X64\V%0(2RUKIO8@D K<@M42 MH>#6&;YMPN%IF<%*-WZ3J8).HV-< %4G28?2: DY&EI3@+(6>H]HX^^0#>;: M4%700#G 9VHJ%FDBF*-%I\%5E,0C 5W"VS2[#K'>_C(":C[>@+X&$6179>BK M#*A&\JHODN!!@_& L&V-XJEA/J%=&G/"H+SZ%O?D@6F.,=PU MAJO=J_22S!,N1)13OM+!U>70:WM/,=!8N&"ROCT:#>!!Y?$ 6(CNO8BO,UH( M M_NX3,S](I@$1_=!Z ; \N*8PGWSY@W/J7PJ2PYO?)!>#6^^FEF_Y%8:KE? M&VYYJ"!2/Q=UQ6#-2G1$HZTX"?G)E/]$HB$4J$%H_8_2%'/?^4M6X+_D[_45 M&?^H&R0G#5NBV85KR0MJE.MZ=[_:WWSSKN%_,^^N38JVXR138$FNP_CJ,@+3 M747=Q.DZM/^M=G29A&%%MS<:;T#[I=;N./$!^O\#L[\!4$L#!!0 ( #&" MIEK."WX3W@, ,0* 9 >&PO=V]R:W-H965TZF^ZI)2 P\5%WKIE,;4IYZGLY)61$]D306>;*6J MB,&E*CQ=*TKR%E1Q+_3]V*L($\YJT>[=JM5"-H8S06\5Z*:JB'J\H%SNET[@ M]!MWK"B-W?!6BYH4])Z:/^M;A2MO\)*SB@K-I !%MTOG/#B]F%K[UN O1O=Z M] TVDXV47^WB4[YT?$N(4LZM(Z3QS\&G,X2TP/%W[_V/-G?, M94,TO93\;Y:;B$/9V+\%6'-T1-( I<"/UP]HJ_:$@O:OU%OYA>AYX^C[8-<:IKDM&E@XK7 M5.VHLWKW)HC]LU>X30=NT]>\_Y#;Z^@@G,#8 WQIL-=H@0UC(&@>3?OZ2#5*AC[@FZIMI,1;"!,WCS7T.X7W\S-A!(6E3IOL#:GGG\S+N':,S'M9BAA/T#_6MI55GC9++"K631H/%8I2<=T\O#ED^ M"/R0.'<;W\"63(WYR8LO^2A)F1 JS#PC"/I[PDM4BH&(QN,2,UE?R8J;WROT M3\%VLF4J'%X:]8_,?3E*CA/(L1"-\G=F_C#$>6C,'R]*$QA_!U*!-Y*3F MH$R\I5-)>GX\>;B87']_N/YV#]<_Z'A_QG!W1#=?AO>P,!Y]MA()T/^ M?]%P7ENI@E=;X$N$2U/50B^H-$C,8@Z7PMKW[XY[W:,S#N>,+D$K]0QN9"4] M">SC994NZ@6L'=RTCH:I&VXIXO%AF?F4BF8\EYF&LUFLG+CF(5_)5L1=Y/SQ4MI M%IJ3.3A=O BS+X5SZ%WPB))B*A4!H&/-+;$LQ(!/5C0L9L;FC.!95%K:<36& M]@6%H/634 U&:)&SI#!;8'4JW )ZH 5$P[&S8S)PWT60SY'.U@U MET5!UN@,B8N?(^HW/L@,]>0BF!]]CL4A-U@L%=6.SDN8 4#&1DX12)HN>H%W0QM/EY#1R:RUB M'K"ZQ>UCUQ2%S"0Y"#P-.8X@VZN0Z/!M%I7@3 Q3*V1.&VZ,GAW<([&ZPJE_ M7= R!$8OI]U<^O)-X)9V[JJV[<:06QJK>R='K4&:KK3WNMU!*Z6U>!)2A=@V MU/AC/5]=W=\

:353&AR894=@WU VI+51"55+F4RAXH); %CXVPM$%U3VEOO?PWQJ@6BXJ=;C%D M&7^[5KB8ND1CF5A,$>XI:?_L]?^ONGUG8_Q6:&?AD>$@M([ZW?,>1S? M+^+Q$42CCV+B0&%!JFG[:)" C0^+N/"F#L-\:CP]#<)G26\QM"Q YX4Q?K7@ M"]:ON_%_4$L#!!0 ( #&"IEI7AD=T2@( )\% 9 >&PO=V]R:W-H M965T&EO?0J0Q;U1)&2P$ MDDU5$?$TA9*WB3?T=HX[NBF4<> TKLD&EJ#NZX70%NY9-?# MR2PR\3;@!X56[IV14;+B_,$8-WGB^:8@*"%3AH'HSQ9F4):&2)?QJ^/T^I0& MN'_>L7^VVK66%9$PX^5/FJLB\2X]E,.:-*6ZX^T7Z/2,#%_&2VE_4>MB1R,/ M98U4O.K NH**,O9?7"JA;ZG&J71!GM!6H@4(^R)8!FA.959RV0A []']4+_Z6/A]KEZ*+#=&9V)[(F M&22>'DX)8@M>^O;-<.Q_/*3U/Y&]4![URJ-3[.DWO6IN6,8K0.=?N907A]0Z MBK&E,(MEFUX%T66,M_LJ_@P:7P7/0:XZO/?6*Q ;NP(DRGC#E'L]O==MF:G> M,G8:7_GU]KFV0X>?:=SJTF]C0YE$):PUI3_XH&=7N'7@#,5K.U$KKO1\VF.A M-R@($Z#OUYRKG6$2]#LY_0U02P,$% @ ,8*F6A.MA^M$ @ B@8 !D M !X;"]W;W)K&ULG95=;YLP%$#_BL6D/;6%0#ZV M#)"2;M/RT"E*N^W9P1>P:FQFF]#^^]F&L&Q*J)278)M[C\]UY$O<"OFL2@"- M7BK&5>*56M=+WU=9"156=Z(&;M[D0E98FZDL?%5+P,0E5

)-O./"CA:EM@M^&M>X@$?0/^JM-#-_H!!: M 5=4<"0A3[S59+E>V'@7\)-"JT[&R%:R%^+93C8D\0(K! PR;0G8/ YP#XQ9 MD-'XW3.]84N;>#H^TK^ZVDTM>ZS@7K!?E.@R\3YXB$".&Z9WHOT&?3TSR\L$ M4^X7M5UL]-%#6:.TJ/ID8U!1WCWQ2W\.)PF&4I.GTXTY7@(2/4E,*"_02DK,"S#'KE7L:[.# MC?.SGK;N:.$%6H0>!->E0E\X ?)OOF_,!KWPJ+<.1X$/6-ZA:'*#PB"LV>Z%- M[W+#TGPL0-H \SX70A\G=H/A\Y/^ 5!+ P04 " Q@J9:MYM/S.P3 ! M/P &0 'AL+W=O7W_/ I"@+2E;3]6=^Y*8 M%):#LWQGP>&SK;&?W4:I6GPI\M(]/]K4=?7DY,2E&U5(-S"5*N&7E;&%K.'1 MKD]<997,:%*1GXR'P]E)(75Y].(9O;NV+YZ9ILYUJ:ZM<$U12'MWH7*S?7XT M.@HOWNOUIL87)R^>57*M;E3]L;JV\'32KI+I0I5.FU)8M7I^=#YZK[/G1$"E2N4IK7$+"?[?J4N4YK@1T_.D7/6KWQ(GQ MWV'UUW1X.,Q2.G5I\D\ZJS?/CQ9'(E,KV>3U>[/]A_('.L7U4I,[^E=L>>QT M?B32QM6F\).!@D*7_+_\XAD135@,]TP8^PECHILW(BI?REJ^>&;-5E@<#:OA M'W14F@W$Z1*E7UV>O_T@SB\OWWU\^^'J[:_B^MWO M5Y=7KV[$XVN3ZU0K]\NSDQKVPUDGJ5_[@M<>[UE[(MZ8LMXX\:K,5-:??P)T MML2. [$7XX,+OI%V(":C1(R'X],#ZTW:PT]HOX%T82>N$JF MZOD1V(A3]E8=O?C[WT:SX=,#Y$Y;'5G_Q5M:-5<*LQ+M*68E:[80L,W$A MG7;X_AHW+6OZ:1?U?^7ZXE)F,/H?)L]TN7:)N"K302)>GER,"OUK35.)Q#6___K?%>#Q\>FF*2I9W]#1ZFK2O<F ML?[U+_!>O%2YW$H@,36V,GR>1"S56I;"= >$DYQ70*<8C5&Q1N,!4>\)3,0& ML.[/1MI:694)78K?9/K9F?)6Y[E*Q.O<6)W)1 "'I%CG9BESD<,<97%P(1*U7="_=GH"K"NIA$&^&0!\G)9PXZ5-5F3UDX M! OD()Q*J!*>4H53$K'2UM4PWE4&#,TF@!.YK@%C:;6R28$<"Y38SPH0G$ZW M;!P(WSG/".5@99#1>@,ZWL!YD("/@QL0]!OU1:9 E2BECFP\+659:I85K_#.HTLM>1'P.?<"0T;M.<$&,\S0$'5 MTH0_9]H"D /#%CI$J2@03L=&#"ICA,;>0O*H!1PR2K@ FLX+F;#,%2G5C4I!$VOM1[SZ@I)>DX46VE%X\-AO=//JLMT" M5I(6H0E.!+:KBX@#<%9CD6Y6 B ];TC?5#A3NWN+ ZB$VXU!!IAM":=WS=+I M3 /&!65BPP7&,K4]]DL'NX*9(XN7=\2-@3@G1@,=:"4P^4YD1I2F;BD"?@=" M=,DQ&,4RL-G*F!J&JH?K$E* ,31P4MED>I_T&0J:,HS9HS@/V7=8@9 ^C)0T M6,18.,D-D?$!#1;PF(0J<;@?!>(EMRKSV@*I9E+DIR M9XDH50I(AW"(?%E);7=M)ZK(MQ%GG/HACA#F&H94M*8@$=)NXAM]H"SH@'LW'R6(T$7(% M @48 ,78 L["W^ ^/0@BK6F+LV!V*^6%K;Y4:!E$]*-I,EK,!\@S'TK%+(M6 M=C -E$>C1>%/JP8UM,"]/,R!%II;98_!W@UI+40H+>15#0A$.N(A*#;@"/P" M.G\Z/4WFH[,?8V."?A]RN( :,?_ >&,!XNS1(ADOAG\%TQ80:ATR@'EK /.# MRONJ4':-U$.4O04L\=3NLH(?6DA\4H2SP'/O9E48N.:!'@T2[WO1UT%BK$NV M>.3@;TU1 3+96KQKK+@(T><-OFHJ!XZ0% ##[UZ:\-N[BQO\,7AU@" 'CC?= M@ -@J@!=UAIC",0QT*ZB8OPAU;\%YVP:U_G[X"L]5'<1"$B:O7?5+.&=/Y(F M%$?](3]3B]TGIP" 49)B"@@\:30"'T)$#6$R/B]51 *^9ABYN^<<$9!K<" > MB'LD Y-N?$%C.IRV(9*T2PD0N M 4"13WE-IS@X L$U&VL/"P 5)'J7:(E%6W1)>1<$N2 ;Q/J,(2E/J M F,(I0"VMNX0<<"F##*[.Q9WYM$-(4M9YMZ.?02^R&&*<2IZNZ6X@O1V"S22 M/M,. ':WX' []1R@$9-+IGH8*Y^\E; H9,V0]MPJ'_'VCN/5*U@A69_T>$D6 MN(4DV*LVQL-_8(H&*W\#ZQ"5V3,58'T:_@'4^"D3)']H%4@2,!U.]5V)4 $2 M\>>@!6U !>8YNY28G-AR]Q\76%G"WVD '&)R[WR0_$/00+5)@?0=3#X7K4M8 M'$3RCTSR*P>,Q35W^8+O6X%B#0[Q9=VIQOX8>2>7/6 @NTO)=HT\+M!85;L5 M 0[$2@'*6?S$)0\[B.;(Z*)-U6"\\JXWUW*)!9"0,,; AV(DR5"M9<\M[,%#_PY"@=CTB7BW MQ-(L6;@NJZ;V*@;8@>"(&3$E32#2/QO#-3B=\"U M9*&*0D;=UMUX^_$3\&.T)X,=[%S>VR;D6Z'FYNGN8-!T](>B(!$3TW*7"*5I M!ZZ<8=D"*Y+A*:&I6,, IM>:"CMM2 [Q;!%T_^'*X2B3)^)C:0[S,K9CN300 M&&WQ9V8*E>9TJBNN,)+*-PX7(E90]+"3R4M* @S'EDNPB7YU!/T:4K0[0^J, M69>NMDV4&[LZ%+*('P@7TFTXH,<_$+YN(97""8\AP8!8RY]D!:F P[)S*!]A MXJZ)+PGCINZ0(/&RQV)%!T31Y$K>\4QX8S%GC Y/D:9!IRF_A(&,-#%Z MV.-H"D:K##U.M +5S[I*%E72GE!"-)P\_7_[/Q=;PN5>^_HEZ%*Q!(7QOTP? M3+P,RAY>1/[@>\:< M>D&@.'YZ\,UH-$QF\]'!-_O7>:DH%T%/&,/MX[>8#\'C6]7GL5T]W[]* M+Y'*T"CHVH_'0<1:8*/%W<-R?[6YF.GPOV.)-VQ\4@5Z8HGS+'MH:)G1=8 M0W2P*=V!!FUN-92)P'2':6@5QA/.7-F_>G1OUFU$5!%'3-X94+B8A%G=A7FF M,,"D>CC-:EL=,)ES&UU5F,U8+ R"9&.-#IS%BG(:;A&I?HC,\D5!Q1%W147? M=@K?TG/C1:8@^J:@WN=,2$][Q1W$.A WQ'FDJH L%@='EZN\,EYS14%S"M3J M.JQG68#^'!P"DR;1W1,J97Q'V%=&5=(%$0PV+45T@QW5@"-=)]T+A^TPPW#B MBGDNJ!?=DP:&&)OA2)8/:^E=IQX)).&8"&/B[)//)%2B#*1)-8D(NWKHK'W: M-XA&/L'*3;GVO/&G:"N&)0W8K6=1E;/3,;P*H^)H?SM=WAHVI5A'#"Y(";'. M&I+(.J[-,?[?$TS2\\&F!O,)Y\GX,(GOLVA[TV(1N!_A M?T(Z'U%)^6_:% TGZ>#6ZW1SW%2^IT2WO@#O;7H7[<0[MB43"RW"M('X%+Q) MJ!&$040FG9G%QHT1^[P" $S**X-AH#+(Z-XD5.6P5&A5Q$,<&C"X*3M#W^][ M"(@/G)E67"JLB4#T=4OER8$XYQHV.>^H'&V[D*)ONC)W)KAD/GE',[MCJ^K& M^G[00KM4Y;DL%5ZNIKG4A;]P[0"9^IW0RP5Y>!H\" M: H TB *O/@D7- UU<#2.@1 3!-WAF$=E-T6SZ$R7XBNC/6MG7QY'*@A5'$T MC>,;["D9B,N-M.O !0PM0M\I&'9&;H&Z$=!'^"OH3F16=;5GWPK!P@]7'7U: M=B_?7G?<7^XAM4&OOZ5],;IX@35,OT$9IUNUP8\%*%5$:Z KSQ"Y^?M 1]5) MQBYJS-IU &[M")$=N6#9*B%Z^C:^]->H40!,DI7M45=-OO+.F.P73 3O:>LN MXPKO:?$'82G'8U$OB:!B*HQ3@+/FCOI*7/\>G9HB6 :D6\&Y^BON$)*0=H5X MF('%07+G'-](2'&GL-O^]=E[1W@R[T"':6#<$;MY45;>9')H>= MVK+2 ,#D!NA=@;=D_VXC(<0[O5(/ ]>H%Y3W##[%>N7#SEX*Z7Q4SLMG$)1C MJS [FE9SO5K>OSCXRS3S4+(9?;@Q^DI/,"O-)PJ0ZYW]/M^YA+@Q1 _E. M4$&?(OT'2H\?J,H4?U 457;"(*KP4$'G0JUU61*<]P]]%\P\KFCT:S7\1U+_Y+^]/9D88)B_:OTSF>YIL)G9U- M>\^GIZ-#:#+NT&1\^-L?\/57?+.&G9$WV!FY$U&^?QGZ?"@-]W9MWR475@I( M/KAJ0PD[\@'##C]XR0GZEKZM0P0 2\=VKK*A\EW4Z.D[/YN:&HQPF:A"&3R5 MO[/#3N:7.F^X(WD'53)/&PX2@ #N!:"NL/MD[-@U1/X9KD].A?M6,(XUV A/ MAVG[)-Y1XM6UP^/"H^OO09_>UD_H>8 ].G,/1#,?#Y+ MQB,>,ADODNE\2GW6%7>Z8$]?9L3M2]>]9K^=Z/ES2Q[XY2TPYW_@].?8 M40K\N2J[6PZ0T81SU-?G-Q?A,X3SFX_TR_'P+ F8_4%^P0^XN+EJ/AW^\D1< M%1C+=3V^W?\57,WG#\.!\4# M=X[YR0JF#@?STR-A^7MK?JA-1=\X+TT-J1/]N:%O,'$ _(X?2X4'W*#]ZOW% M_P)02P,$% @ ,8*F6K)A!\IX! =A !D !X;"]W;W)K&ULW5AM;]LX#/XK@C<,'> U?D_2)@&:M-T%:+-BZ;;/BLW$ M0FTK)\E)^^^/LA/GI:F;M0,.=U\B42(IDJ;TD.DLN7B0,8 BCVF2R:X1*S4_ M:S1D&$-*Y2F?0X8[4RY2JI 4LX:<"Z!1(90F#<>R@D9*66;T.L7:G>AU>*X2 MEL&=(#)/4RJ>^I#P9=>PC?7"=S:+E5YH]#IS.H,QJ!_S.X%4H](2L10RR7A& M!$R[QH5]U@\T?\'PD\%2;LV)]F3"^8,FAE'7L+1!D$"HM :*PP(&D"1:$9KQ M]TJG41VI!;?G:^W7A>_HRX1*&/#D%XM4W#5:!HE@2O-$?>?+OV#ECZ_UA3R1 MQ2]9KG@M@X2Y5#Q=":,%*!B=$\N!H-O/T;WP]%7$$DB 48 MO4\?[, ZKS'7J\SUZK3WQN6U(7Q*II0)LJ!)#B1F(*@(XR>"%Y2HF$L@5$I0 MDM L(@FC$Y8PQ4"2%*C,!42$JFT-^FK@]0IS(5@VTRG.Y"'?ZZW[]*'E6.XY M^;^.MSK(5?95RY<00CH!L=[QG@D.J!!/.K#KA6L=^I]%Z'^'YR+E>:8J\@86 MD!![CW;V:/?-8D4*G;T_;#R#)WROQ /BRS3/(EEM?21.8+I-JVY!SVSGO';% MMBTS:-JU*R_KN03!%E0C V&95")'P,&[Z07O MX_BOCS>;!^G]V?5OC\S(U,.E7,.D?"Y-A3-%IB=\&@1%A,0Q%CO"WQ->6 M9CH##\%LTR5L1=0V MFX&U0P>V10:(\SH1YIB[/")A0EFZ>91/FMXF&4YL._A,[@1?L*(&UQ5&N"LN M*1:'E4"KFOE-[5(F/9++HEC7I= "K\(, MB(PI5FP$NQ:IZ,IP+)\R1"V6A3P%[7#)=2AIZNWX,TF2EDD"KR;):&/T)J9M MT_%:6W1@MIW6BR?^.B(^7XI2,:QD/ 1=NX6?;O,IW:;9]@+3;P;D:CK%/DS' M/F))7CR94M><;T2"L>+APQ?=CJ&-F%I;=45U>."8KM5\MAY833.PVD?Z6%B+ M3%M>MEN6V0HV[YM;.&W:+7\[]%6^/'>NOQ.WC\0Z==P=TFZ1R[US#W(=NB.- MK5XP!3$K.EZ)[SZ6@65;6*U63?5%V4MNV,N.'),,GQM)$IBBJ'7:Q+=1E%UN M22@^+SK+"5?8IQ;3&"BBBV; _2E'>%D1^H#JKX;>/U!+ P04 " Q@J9: M:?'C%SD% #(% &0 'AL+W=O9X9DS'/*8IPLAOZJ,4HT>$%:/):?WN6DY.1:4Y*^BU1*K*5.B*_FX3(]&]D&$>4TT28$@-@GY)EXBN*I_T:*QM4>,,"')6+*_DH2%BB -N''"->SE0C?(-T61R*L4"26,-T!88:IR MHR5\9>"G)^?3/[]7G[Z>(->W)([3M7+T[&&T,9@G#1A+I9A\($P+OH@ M"ITI]$>1TG3;?PR06EQXA>L"]P;\0.0KY#H6PC;V>^*Y;9YN'<\[$.]R^NES M5UJ]7J8E3E1)$GHV@CFOJ+RGH\GS9TY@O^[!Y+68O#JZ.X#[+FS>_X#-;['Y MO7S=0/NG%:=(S) 6FG"4"&C%E$IBNJD+;G_ Y\\B;+NOT;'KE*@,E82EZ#?D MV9;KV^B**G6"$O.!)-\J)FFZY_;"L>P@>HFN>06V4YB,K)C30F_#WG/#%L8! MNMU/T$(%+(DK,X#B6+X=]1 ;M,0&_<0NE[\UKV4EDPS6%51*EM =O*1($+SP;E&(J/T65Q#V44TJ2TZQ]9=A2@:TGK^4(?8*M2)G-@ M0NB,2EA I323H.%JUS]P,'C##B?U8^U%@R3K.8(TY-P0Y$ M=2PWB &W)L6]?8BRPOL->,EN1Q MB\XV9=ZC-G*(OBLXJCJ[8C*)I+1V@!23E=6NJC)5J@R,HU+-9M+ZKJOEA&L@H+F2K!5=6RA\ M/^XI1-P6(NZEYIR7&4$W9$:[B>WU?J+@<>RU$K9_2(XU[C\9WH90=WZV(CL2 M\2F2S+%#RW&C7DWVPH.-*WPY1%8Y-K9\U^DC"*\)PK^\LCH"\2=(JX:Q']16 ML>5$\1%MY>/P![258T4PPE!U5<,9J*] LP=X@+[R0ROJTU<>D."Z _65X]I6 M#!B/"BS(&_;501(+"AG:3]18H'!"=[C*@K$\)_X.F85!3_K1$9TUH'O7_\^= M_C_H3Y=:1P+_"EHKM.(.A8-[Q9;K;\DBQ^\36YX5=@S0(;::IO@.L37>.%R" M).?U$9I"=1LLSYG:M^TQW?GR<&IMOCSC X$Q9X6"Z3T#5_M5Z(^07!Z;+1^T M*.NCJCNA@='Z-J.0M#0&\'TFA%X]F ':P\O)?U!+ P04 " Q@J9:G)ER M.N\" "'!P &0 'AL+W=O_73MJ02E MTDK[DF3& M<\[,\<3CX4;(9U4@:G@M&59Y*BVP)*HC5LC-RE+(DFACRMQ3*XDD MJT E\T+?[WDEH=P9#RO?G1P/Q5HSRO%.@EJ7)9%OE\C$9N0$SLYQ3_-"6X7L8VO IXH;E3K&ZR2A1#/UIAF M(\>W!2'#5%L&8EXO>(6,62)3QN\MI].DM,#V]X[]>Z7=:%D0A5>"_:*9+D9. MXD"&2[)F^EYL?N)63]?RI8*IZ@F;.K8[<"!=*RW*+=A44%)>O\GK=A]:@,3_ M!!!N 6%5=YVHJO*::#(>2K$!::,-F_VHI%9H4QSEMBES+>F6[;)F"S]AB^!&<%THF/ ,LWV\ M9RIKR@MWY5V&!PEOB.Q %+@0^F'W %_4R(TJONCOY7ZDLB:)/R:QY^1,K4B* M(\<0H\@E615O'RDYG.OX* G]Z!S^U?NAD(A[_P"8#J9%U<)=D&VE M?<3PV)EW0&FKS@IA(B5&4HX\I4;F"3EM,-^@'[FQ/V@[8G\&?F_/TW>3GM]X["9,>Q(W#Z$O;^J5M^^CX>:WA:/Z4 MO+H"%*1BS74])QMO<\M&PO=V]R:W-H965T)6&90Z[T[L94LI7RUPET^=7R;$'#( MC&6@>&SA"CBW1)C&SX[3Z4-:X/Y]QW[;U(ZU+*F&*\E?6&Z*J9,X)(<5W7 S ME_4WZ.H96+Y,$;:BZ%AP?!MNY.-<5S6#JX(^O06W!24\^!4/_XDAJ M<9]:?(P]7;3C0.2*,+$%8:1BH(DVU$!.J"$X-Z"L.9/:$*F(P%G% >3LM^T7 MV5*^@4-5'8][\BD)_>B"_*\36Y85?<]Z]35D4"ZQ@,X2DULF&/ZP.5E+F>O> M\3.)AFXT'NPK C?TQ^0%Y_J4B=-*R0ST.V+LCOVXEQ(W"@,RIS6.AP'%*->$ MBAS7355Q^Z([QWC@QLGH70S=!(%/TE"^%WLV-8 M@EHWRT9CVS;"M!/9:_M]=MF.\;M[NPSQ,==,:,)AA5#_;#1PB&H73"L8635# MO90&5T1S+7 G@[(.:%]):7:"#=!O^?0/4$L#!!0 ( #&"IEK6#PV#@@0 M -T. 9 >&PO=V]R:W-H965T"_E+30 T>2SR4G6LB=;3HU9+)1,HN#H44RAQ9R1DP34NY;BEIA)X M6BD5>.^H'YGQUX,\,YFIE3HPG0R%^ MF<5%VK&H 00Y)-I8X#@\P GDN3&$,/Y>V+2:*XWBZGQI_8_*=_1ER!6G=W9T-[LC>@ ]S4/OMEL8K MC6(K69COU^:=+>9=\D.4>J+(69E"NJ[?0J@-7F>)M^_L-/B#RT/B,ILXU/%W MV',;_]W*GOL?_-_D=FW5VVS5,.E(37D"'0NIHD ^@-7]]H4%]'@'9J_![.VR MWKVK"43$B"037HY!D:PD8R'2>9;GF]#NMO?M2^10]YC\KO%&BG26:'*:*2VS MX:RBXT!HGI,^SWF9@$U.(8%B"'(96Z_1_DJ8Y]N^QU8DCAVP8.U$9#,_)$A4 MI&&)Q)$2RN2):,E+E?/Z 4C_0C[A@Z)5H^KYWAIG"R%U]D^=@R\WK[#L_E0PFN7D M,AL!TF"4E9F&@QQK5;H2976T%3;/J, Q.0^G9 '9SMA=1F MD;N/4]>W/183%I(!))-2Y&+\U.@$GAUZ'MEC@1W[P3[Q0CN,(L)<,I \A9(7 M\'P!PX2/7+1MLS#<)\A5&I"87(GR(!'%%#2FZ%@"K#./V90Y>(,9]AON';SR M#N%'GDV1_@@_]FW7B0S\*+)#A//R] 66F;>_X"8G#'K6X%@LG\TMWJL5EE-F MX]%U5.9+1Y'WX>S[K''[*_H_D3Z)2#2@)N9!;#,6+8@4>\YV(@648IIC7K 8 MB81I&['M1/+C &VC06:(%/C^VT2*C0K^O$4BUW;\.ET=.PH] SVFMAM>NB M(%@C$2YWDHCB*Q2MHV(TQ'+OD1T%,V@*9O#>@@E*9T65E7PUC^ 1VQL%!-L; MTL!\Z?6.$KO[_O>2YA9,_Y1BZB'2J@!^)0$^*K%9//^7,']RJ!&%C2BTXS T MHNBU*%X111$E@PE@WS;2>,URP\?OC_GY,B[KK^NF0+166@ZDS+AJK!1)Q*S4 M=??12)O>K5>W+,_'Z\8/2_\X*Q7)882J]##$ORVR;J;JA1;3JH$9"HW\K*83 M[#]!F@.X/Q)"+Q?F@J:C[?X+4$L#!!0 ( #&"IEH[6&@ - , &0( 9 M >&PO=V]R:W-H965T*N%\]VJU4+N3%T)N%5$[YJ&JZS"? MVUN%5M"SY%4#0E=2$ 7;I?M(*@A M,Y:!X^<1KJ&N+1'*^/? Z?5'6N!P?63_R^6.N6RXAFM9?ZUR4RZ]U",Y;/FN M-G=R_S<<\G$",UEK]Y?LN]@8@[.=-K(Y@%%!4XGNR[\?ZC I/0W '8 ,*>[ M.\BIO.&&KQ9*[HFRTZLVK<$ZO)C3->DVS*?;5 M/796OJN!R"W)9--R\?2'QJ>T,6-*I[G>O$H9C:[(__7%^F=E?P&]^P8R:#:@ MCCLSDW"T&D8@4M3 MHH)C9!@]H\*!U!.F*/V%.DIB\E&*8DKY'3S*^G%PE/V&[.J%_? B'Q92_R)* M!W;D)YC-/R?267PQ6("JM=UQD@(]+&]USO&4^G4=G0SM,PC/R( VO,8UA47PB<" ,3J<7?AC-?E&8 M1G2B'>*^'>+I=NCF@;UA7A0*"FZ M*H26=6BL)8_X1# /'#_5.18MTP?]5^[ MX [L/,OQRO!0UPBO2>K'\\0:\^=GUSTP]"4COG3HLT\:?<_W'J84[Y,>JC^2 M[J#4C/EQDHR5.AC\YV] %6Z^:>(>1#<$>F\_0M]UD^,YO)N_V/E%)32I88M0 M>IY@*54WTSK#R-;-D8TT.)7&ULI55M;QHY$/XKH^V+>A)B7PF0 !(T1*52M?4]H;DWW?L M7;9$I;1W]X6UQ_,\?L;#S(SV4GW5.:*!YT*4>NSEQNPN?5^G.19,=^4.2SK9 M2%4P0UNU]?5.(@JZ)@ZF6&0N[' M7N@=#$N^S8TU^)/1CFUQA>;+[E[1SF]9,EY@J;DL0>%F[$W#RUG/^CN'1XY[ M?;0&&\E:RJ]VL\C&7F %H<#46 9&GR?\B$)8(I+QK>'TVBLM\'A]8+]QL5,L M:Z;QHQ3_\,SD8V_@088;5@FSE/M/V,3C!*92:/<+^\8W\""MM)%% R8%!2_K M+WMNWN%/ %$#B)SN^B*G\IH9-ADIN0=EO8G-+ERH#DWB>&F3LC**3CGAS.1Z MOEP\3A\6CW-8W*T>EE]NYWE8-&]83>Y/V;\"*X.J,R:54FY]@G*ZJ^K!((<@.+TB#=8$ Q M@Z#W;*=/R3U/^/[-( KB*_BOW_EF@ZZ"X-JJN).VJ)B :2&KTL -?\8,EO9H MA3N#Q1H5Q('+6@@F5[+:YO"Y$B\0QD,#QH#,8Q)!T@T$ M[\[DK]?FK_?'^:/4<>H?]#X;QA4\,5$YNZP4K"B;,-TJ1.IT1@,O22="*DLM M!<\<:LT$*U/*O*WRDZD_K^7_IG[6W+]R4V*:IC;CNCVF DWSMD)_/&]C2>!O MBDA1,U.*0@2F-1ZAWT+42?K#5_M^,FQ /SE?A,27"VYH(; MCJ\0\='&KL+HJF$_#>@'_9\1I_X2_E';+5!MW7#1X)ZG[L"MM9U?T[IM_W"O MAQ^]X9:7&@1N"!IT^Y1150^4>F/DSC7QM30T$MPRIQF,RCK0^49*<]C8"]JI M/OD.4$L#!!0 ( #&"IEJHQ[K7% 4 !P1 9 >&PO=V]R:W-H965T MGEOF!KK5WMZ[,KA@LA?ZH,0)/'G!?JO)5I/3_K M=%2204[5J9A#@5^F0N94XU+..FHN@::6*>>=P/.ZG9RRHC4:6MJM' U%J3DK MX%825>8YE4^7P,7BO.6W*L(=FV7:$#JCX9S.8 SZG_FMQ%6GEI*R' K%1$$D M3,];%_[99=?LMQN^,UBHM7=B+)D(\=,LOJ3G+<\H!!P2;210?#S %7!N!*$: MOY8R6_61AG']O9+^V=J.MDRH@BO!?[!49^>M?HND,*4EUW=B\3X8A6#($5F]WD-7R$]5T-)1B M0:39C=+,BS75DR.[NF$@SH>=C0*-9\ZR5+ MI1,0/",@)%]%H3-%KHL4TB9_!Y6I-0HJC2Z#O0*_4GE*0K]- B^(]\@+:PM# M*R_<:^$NPQQ?M)O/5,.9FM,$SEN8[@KD [1&'][Y7>_C'JVB6JMHG_31&*LK M+3D0,25889)J5LP(!TPPM4O7_=+N,R T%V6AC3RJ%&A%:)$2SNB$<:89*"PA M3C6D1 LB2KEU*EF 1"F*3 7'4E5GY,.[?N"%'__X>4DY+1(@8XLR%TEB%%7U M9PQXDM41)Y\@@7P"LJ)$Y,+:\WI]OC4MK?SS#+GB^HOX<3L>Q$U"%$=_[(^; M55!>;]15*244^K_SRGJJ8(QD"Z$I/T"*C7S/BYJ$..[5!%. BB)B+A-2\*<%9:@M<:7SDE2)+=^$&*])H*2$S;?4!4!"NX?1%_=\, M&^XS"=!H(6MX4&VRN&"AX#-[Q!V;&6"\JH'84>(VU'PW(=RJ9Z73/ MB*BV1_Z*-8CC9:*L"^N'3>$19H=1X$N1\#+%$*E,2.T2UN%KFRPRAH:95& X M >$G1KES_<(.#V@9?4"U9B97S$"U4L_*,>';VIDR9?&4H#DH6+U)E%Z$Z!\' M&7#T!%2JXY?U^K;9FS8WA*=QL(/H]5YMXI8%#KZ(]\\7;L@VE3PM=8DY9Y D+Y?92.;TR2&$A%\EDVAWB<6W/17LFD7VGWRH M@^YLAM@SIRZM5O44M@>>9XC=54DBWD:&M IQV(YZEM1?%6L[]D-#&JRPOAV' M U-E>&>98AJN??"CJK27/MKPS5;;Z+5]U/,&%-;6A9NW)-CIL+ ^8P4> CM MFYQ'!HX0'F[=7O) >0DKF-W=9UW3V9,,W3H9N@E*NAE,-&ULS5;1;ILP%/V5*U95K82*;0B0-D%*VJ[K0ZNH MR;9G!QQ !9S93M/]_6Q(*&W2K-*DJ2]@7]]S?"X^&TVBT-L#O>LG^M:]>US*EDE[SXF2/(<.($3O ,@&0&K=S4:URBNJ:#00 M? W"9&LV,ZA+K=%:7%Z90YDJH5=SC5/1]/KF[OI^!E>CV0A.9G1>,'DZ<)2F M-@E.O*$9-S3D'1H7[GBE,@G75<*2UWA'2VIUD:VN,3E(>$?%&;C8!H)([P"? MV];IUGSN!^K<5UZ#]O:CS9MQ+IJ\T[Q!Y- MFQ<"^ (D2[7C%23Z+/?)/$QT_"4DR+V _WV?98*Q5PX ?7YQUA[@/^_PP&)> MQ;DN./UK[D3P9!4KN,JE$OE\5;_]MXJ5$D[P* 0GLT">=P E&MM?7:)WM(ALC'RZY5.;(4LX3"9(7R8X2G]C^GN()MD,/ M[X3;/=XN!*[=#WIP([B4L!1\D:N.M)Z6@U$GX-N(X,[:K2C4M MJ(VV#7S4]*V7]*;[:P.D>26A8 L-16=!SP+1=-1FHOBR[F)SKG1/K(>9_@EA MPB3H]07G:CLQ&[2_-=$?4$L#!!0 ( #&"IEHJAG\T3 ( -($ 9 M>&PO=V]R:W-H965TY=.L< M TEZF8'5"9IV>U9L.A:JBR?12??WD^3$RX V+[9(\1P>TJ23O=+/I@9 \B*X M--.@1FRNPM 4-0AJ+E0#TMY42@N*UM3;T#0::.E!@H=Q%$U"09D,TL3[5CI- M5(N<25AI8EHAJ/XS!Z[VTV 0'!T/;%NC E%#1EN.#VG^'0SUCQUP52"8[-[TY="'$\#@ZQN ^ "(O>XND5=Y39&FB59[HEVT M97,'7ZI'6W%,NH^R1FUOF<5ANL[N\NPV6\SR1S);+)9/^6.6WY'5\D>VR&[6 MY#.9E25S#:2<9+*; M?.#]> E''S,0G1ZG!L87'(.>]RQF_D'))[);$VY$:6 M4/Z/#ZW^OHCX6,0\/DMX3_4%&0X^D3B*QX0AB#.DP[XS0T\Z?(,TI]AJ(*HB MRP:T+]H0*DLRIX89YU]I,"#17[W6A8Y_]#J_V[8KT] "ID'CB/0.@O3]N\$D M^G9&_:A7/SK'GN:MV(!V*@65;66'O]5,;DG#J43SFMJ.;^SYW"KOTCA*PMVI MAO!DS@3HK=\F0PK52NQ&KO?V"SOKYO1?>+?M]I-MF6THA\I"HXM+FUAW&]09 MJ!H_M1N%=@?\L;8_'= NP-Y72N'1< GZWUCZ%U!+ P04 " Q@J9:WN@W MA6 # #1# &0 'AL+W=OHMHX"E+A1X[6V/R&]?5T18SIJ]ECH+N)%)ES%!7 M;5R=*V1Q892E;N!Y?3=C7#B343%VIR8CN3,I%WBG0.^RC*D_WV$J#V/'=YX' M/O+-UM@!=S+*V097:-;YG:*>6ZO$/$.AN12@,!D[4_]FYA<&Q8Q/' _ZJ T6 MY4'*1]N9QV/'LQYABI&Q$HPN>YQAFEHE\N./2M2IU[2&Q^UG]?<%/,$\,(TS MF?[.8[,=.Z$#,29LEYJ/\O +5D ]JQ?)5!?_<*CF>@Y$.VUD5AF3!QD7Y94] M58$X,O"[+Q@$E4'P3PTZE4&G "T]*[!NF6&3D9('4'8VJ=E&$9O"FFBXL-NX M,HKN(#W"U_G<_F/Z_@+:PPDB*F+89E MDJ#B8@,7MV@83_4EW5ZO;N'BS26\ 1?TEBG4P 6L!3?ZB@:I?;^5.\U$K$>N M(8_MNFY4>?>N]"YXP;MIKJ[!\Z\@\()N@_FLW?PW1N;^L,GE8)V$H@FI5<,^EC(693VWX24*:CW\C=-X2H6X>H^]40 M(>2*1]B$T&I\+D(IUC]"Z/2:O>_5WO=:O5_0AN5*1HBQAD3)#,P60;.TV/)R M:YJP6E7/Q>J=8 V"T.\TD_5KLGXKV?K%,V@/,IU#>H50?DH0RU%\HO>B;J9M M7>EC]:F"9VQ=D$TFKS+DDWTCL,^*P M)@[_SYDI/$DFO6YOX _K;2PCU,KPR@@-ZP@-_TUB&K;EDM+[5OU7>N][?Y5&"/DA#!6W1W-(W!RH[@>XG4IKGCJUJZZ^8 MR5]02P,$% @ ,8*F6FS.+VS)! MQL !D !X;"]W;W)K&ULK5G;;MLX$/T50ELL6B ;B?+=:QMPK*9K($F#7+H/BWU@ M[+$M1!)=DK(;8#]^24G1Q9:9J.6++4J<,YPS'/)('.TI>^8; (%^A$'$Q]9& MB.W0MOEB R'AYW0+D7RRHBPD0C;9VN9;!F29&(6![3I.UPZ)'UF347+OEDU& M-!:!'\$M0SP.0\)>+B"@^[&%K=<;=_YZ(]0->S+:DC7<@WCUZZ1BJ4)TJ?56.^'%N.&A$$L! *@LB_'!O?RDV8ZMOH26L2!R(.[K_"[* M.@IO00.>_*)]UM>QT"+F@H:9L1Q!Z$?I/_F1$5$RD#CU!FYFX!X:M$\8M#*# MUGL-VIE!.V$F#27AP2."3$:,[A%3O26:NDC(3*QE^'ZD\GXOF'SJ2SLQN9]_ MN9E?SF?3FP. M0B \9K!$1* 5\1G:D2 &I%(IY\,B9LR/UBHE/D[]YN\;>UE>"U3N!=JI1\ M4RDY*V?PJI3!Z]<,RIS=Y1E3O6YH5*3P(DGA/U?2 9H+"/F_=6 DXBM@'#V! MV -$Y5+)*D@NH@(%L(. GR$2TC@2=02GCKJ)([68[R;.R-Z567NSAZ<=[$]2 MTR1[EK)I%9_875*,3JE:W&ZK=UA36D]-2>D=%2C& M3K>'4>I([*A:)3"B7DMJV<''9=3I# [IT3IL3$^- M3Q>?6#BP6X3M:L,N5-]_J!",LG&EY C"M>%K(9O6EU$TSQ1:E6 M :/RV"B:9PJM2F>AD/%/2V1L5",;1?-,H559*V0RUNOD!H+@6"S7*$>]N\;D M'/L\K1UQ(99Q_Y?4(S:I?V=&T3Q3:%7J"MV-M0*UR7P9O$= &M76IM"JGPX+ M<>WJQ?4;"WJKCB4]9-.I9A3-,X56I;/0XR[^I2IU3:KKF5$TSQ1:E;I"T[MZ M3=_D52:#*G^1J'F5T3ML3$^-S^-7&;MTHA$"6R:)" MT#"YW "1?*H.\OF*4O':4 [RL[K)_U!+ P04 " Q@J9:3F?F[>," #6 M!P &0 'AL+W=O-/(@.0Z+G(J1A:F93EN6V+)(,"BU-6 E4["\8++-64+VU184"L:F+49CP:LDCFA,.-(5$6!^6JZU6;@CRTSJ!3L:E'@)21L2<]F:1#R]&"((=$ M:@:L7BN((<\UD9+QN^&TVB,U<'N\8;\RWI671RP@9ODODLIL:)U9*(4%KG)Y MQ];?H?'C:[Z$Y<(\T;J)=2R45$*RH@$K!06A]1L_-WG8 BB>;H#7 +Q]0/\= M0*\!](S16IFQ=8$EC@:3];G+]JY^+$B56T2T&6_Y@P,IRY,J\@- V=@K[9M=00% M[FO0CER_E>L?E!M7G .5J 1.6(J2').B\X)J&G_K\).POR>P(\9U@VZ!02LP M."APQMF*F)JJ2KJJ&#MR!>]AQ MHU_WL]H1Y/ONGE9[JT06P)>FI)Y*5IA _,JG*NAEFJO$"UP%J?\&8W$ST M 6TKC_X 4$L#!!0 ( #&"IEJ=;F&9P , L- 9 >&PO=V]R:W-H M965TX79VT!MI-V#6S=H$[: M9T:B+2(2Z24I._OW.Y1D^2:K>?"+1%(S1V?FC,C1<,O%J\P(4>BMR)D<&9E2 MZSO3E$E&"BQO^9HP>++DHL *IF)ERK4@.*VU7>U06?RD9"L/QDB'\L+YJY[,TI%A:48D)XG2$!AN&S(E>:Z1 M@,>_#:C1OE,['HYWZ%^JX"&8%RS)E.>_:*JRD1$9*"5+7.;J!]_^39J ?(V7 M\%Q65[1M;"T#):54O&B<@4%!67W';TTB#AP I]O!:1R<4P?O@H/;.%29,VMF M55CW6.%X*/@6"6T-:'I0Y:;RAF@HTS(NE("G%/Q4O)A]G<^^S*;C^1,:3Z?? MG^=/L_E7]/C]G]ET]K! -^A7E0F2(KPA I1%,L."2 0U(15F*64K!#?$H.8H M2WA!T)J(V@I]O"<*TUQ^ J#GQ3WZ^.$3^H#,'09EZ)E1)3_#(HR?,EY*P))# M4T%LFJ&9-'%,ZCB<"W&XZ!MG*I/H@:4D/?8W(2=M8IQ=8B9.+^ W+&Z1:W]& MCN7X'7RF[W?W>NBXK4YNA>=>P)N7!61?<8'@T]6%2Y,JZRG-2RT.P8*!$G*? M^[NN)-8O\;I?HK>,.[G&"1D9L"=((C;$B/_\PPZLO[HR<"6PHWQX;3Z\/O1X MWE9;5YBU;U#YZHUL$P\<+QJ:FT/ZYT;!P-D;'='R6UI^KTSO^%@Z=?&OJ<]N<5/7;U<>:G#_0!//"NS(][T3\Z1:*)Z\W^DP$ M];98=&_#T7GB \>UPA-]SLT"*PRL0;R)7>P''?4UB*PHL$_X MGQNZN@JA%+LCL*W]@6OU[^0=YV1G834X5ZJL:Z$=1WW09MB]RDTN??&-7W20 M:>O6<4_DZ+2R+VS6MK-GY?2RNK]<*8WG[WAU65WDM3_L[=ZS,QXS16_:#8@R MJ02<_TQ)1-Z2O#SK+KJGE]X0I:X6J8P=\*$=H GB\Y5[N)?D'[_Q/_#U!+ P04 " Q@J9: M:9@+ND0# !0#0 &0 'AL+W=O>(66>([%PVK&9,\L5<(XQ83'E "&%Q/CTA[YMJ,,LAF_8KSEE390 M*(^4/JG.-)P8EHH()S@02@+)OPWV<9(H)1G';Y;LK6U+^] Z?76* XX6=RX&%^ M#4Y/SL )B FXC^B:(Q+RL2ED%$K+# J/?NX1'O#H@!M*1,3!9Q+BL&YORNA+ M!+A#N():P6^(=( U/ ?0@MVF>/3F-XAU@&,WF=?"<K>/14H 0&51SK$ M#*E3>0X(%DW06J7W0N=B;B:F7E,;S^[:<.B,S4T#3J_$Z6EQ5,(WA:ZU>F_H M+8G5 -T2T/VOQ'3;!&U)K ;:+T'[K25F_TTN.4,X@&4JY31:?T?2#$J:@99F MAEF B9!WJKSSGMA=;/D13#DF*H3;Y#>P+H @2(1R7; MJ ENV&9JMB166P;;>KUO+>UV^@IVA>+&32QLJ^G8M9R>M;>1>A?'(E1*!EN+ M\!US/JKO6B-,KM*KP%S8ECO8A]$Z.Q8&OL) _?%*UA+&ER5)3);RG-5SM)$+ MON&"$+K[6%JWQV*]%B&V]NI_USNPD*IEG=VSWFQ4J\6&6:E94\R662G/9<1K M(O+RM1PM/Q?VO("FX9$PX2O)"F5J$7255<"/5,AZ M.FM&\I,',S5!/E]0*G8=Y:#\B/+^ E!+ P04 " Q@J9: >J\M:X$ #7 M&0 &0 'AL+W=OS7EY04V;04)AXX8%]L77A> MD@_)HY?2>,?X]V(-(-!#FF3%Q%D+D9^[;A&M(27%&6C*=$R%.^;IP35=K MH2ZXTW%.5G #XBY?<'GF-BHQ32$K*,L0A^7$N<#G<]]3 66);Q1VQ<$Q4EVY M9^R[.KF,)XZG6@0)1$))$/FWA1DDB5*2[?A1BSI-G2KP\/A)_5/9>=F9>U+ MC"5_TUBL)\[003$LR281UVSW!]0=ZBN]B"5%^8MV=5G/0=&F$"RM@V4+4II5 M_^2A!G$0@(-G OPZP']M0*\.Z+TV(*@#@I),U962PYP(,AUSMD-C'[Z^[RYO+V\NKK#?J %AL>K25&M. T C1C'W2$S\SA7P@_0SU!KIH6=#=-997S(B<1 M3!R9-@K@6W"FO_Z"0^^W+NPVQ>:6Q+0AZ35#TC.I3W]G+-[1).DB9HP\E5@E M%I9B*@=OIS@8AAB/W>TAB\YBN#]HBFF]#)I>!L9>JO79U4-CU*D]M"DVMR2F MT>HWM/K_WV7:MSDD-L7FEL2T(0F;(0F-$[@:$FT,WJ,,1!?!L+6$ MSWAOI" MFQGK.Q6-)3$-S:!!,S"BN8BB9AX"W9+[!+JH5"+] RI^K^\?03'6="H42V(: ME&$#96A.>-D6,L&X7&Q=,(8M&$-O&![!,-9P*@Q+8AJ,40-C9(2QX) 3&B-X MD)N$0J4?F8Z8S%-<&DO.):@Z876A&K50A?AXVABK/Y64)3&-%/;V+MA[@97< M27'Q6#("F;YSN;?I3#.UD+ZB1D=DS+6=BL:6FL[F8(> C6RN\C+U9BN4@'HP M/C]I:J%#-K@7MN 8JSL9CB4U'<[>VF.C39491Y!L167V-7'QVUP&<7XQUW R#TMJ.H^]%<=F+UY9F2.'V DG:,$) MAD'8FBQ6?;V1L M-LE56G[E)AUWN.)1:S=EKO%D/O^%,?;WQM@W&^.O(%[ST*I57MI]FRL[^06B M55_L'KQ$5Y\\OA"^HEDA\\I2RGMG SGLO/J*4)T(EI?OU>^9$"PM#]= 8N"J M@+R_9$P\G:A7]&PO=V]R:W-H965T4*EV^=H4&0<:ED%);#J6 M-3(3&J7&8E8>N^:+&9]=<[9DU)8P22$7$4L)A-3?.[;/ &10!98N_(MB*UC8IAO+ V-=BYS*< M&U;1(XAA*0L$51^/X$$<%R35CW\JJ%%_9Q'8WGZA_UP.7@WF@0KP6/QW%,K- MW)@8)(05S6-YP[:_0C4@M^ M62S*_V1;M;4,LLR%9$D5K'J01.GNDSY50K0" M'.>5 *<*< X-&%0!@T,#AE7 \- MPHHAV[NQEX*YU-)%S/.MH07K16MV"C5 M+Z.57E%:7"BWDJNSD8J3BW/OS_O+V\N[RR]_W)+/Y#*5-%U'#S&0F M5#TOOM]<5KV\V/72>:67O]'TE%C3$^)8SI#A,<,RCOO =CJFS6*77JE#HE=W! 2ONDWD4/^Z.+PG0F,KJ$ MN:$JCP#^",;BQQ_LD?53G^"8,!\3%B#!.BD8U"D8Z.B+7S@3O9?Y+FQ4AA4U M_'%ACU5-GYF/;5&U\&-%Q80%2+".J,-:U*%>5,;";13')R1EZ><0PES=9(I* MI6Z71-(GDN4\8P)ZA=^AW;;PDY'E[ FO[<"QPF/" B181WBW%M[5"M\J_\MV M^>_3V?WF G<==AOY/8TB M*#6@3PMM^+&%%A/F8\(")%@G!^,Z!^-WW>O&F"G A/F8L )UDG!I$[!Y+NJ MPPE)@(J<0U*I$;D#]<0#R#)23#'C$0@*I MNCT2-<',E?DCNRGFF/Q+KNA3E.1)7QZT73KVEX()\S%A 1*LDU?;:LR6]:YR M584C90&5YJ/2 BQ:-Q$MUVNC36DJ5'LFXHZGX[T2I?_"H\7&I 4](YA8+=?1 M%;'QF;;60RV\\O$$<,(A+M43FRCK=_>HGA.5YJ/2 BQ:-R6-[[0'[RLPF&[0 M0Z7YJ+0 B]9-1.-5[3?,ZFM/ *JXSB. X72T7TU0G2@J+<"B=95MS*BM=Z/G MCZI6KX'<"UCE,?D]6O6:KS.UAN M4A:S]7.OYJB.%Y7FH]("+%HW#8WKM=]G>VU4WXM*\U%I 1:MFXC&^]IZ\_MZ MF9_TE'EG,MBO\ZC.%I468-&ZTC8FV-:[X$/KO)ZBK?.H-A65%F#1NBM(C5%U MM/YK<<=I" GE7WLO;GWPT4M(J#85E19@T;II:&RJ8[]O*0_3)GJH-!^5%F#1 MNHEH+:GJK>ZK=;Z*VZOS>\L4GIY^M+*XZZ3_AV-U&L?JZ)=*#RSS;U!T95X? M>K3XJ"X5B[83WVR]!U*\YG-%^3I*!8EAI?#6Z5B9![Y[=% G5\Q)E]VBK=-ZO>7%O\!4$L#!!0 ( #&"IEH/_.>3FP( M %@& 9 >&PO=V]R:W-H965T84QUYOLZ*Z"D^E16('!E)55)#4[5VM>5 IH[4,G]* A& M?DF9\-+$Q6Y4FLC:<";@1A%=ER553U/@P!HN@50-0"(N>[$7(N M+ZBA::+DEBB[&]GLP*7JT&B."7LI"Z-PE2'.I.>S'_?SQ?QN?OU]03Z264'% M&C1A@I@"2":%81@0Q@XURT%1=YB% MK#45N4Y\@V:MI)^UQJ:-L>@58P-RA>*%)E]%#OF_>!^3[#*-=IE.HX.$5U2= MDD'X@41!%)/[Q04Y/CHYP#OH3G#@> =O.,&^-!OTL!]M:^Y,5S2#B8=%I4%M MP$O?OPM'P9<#WH:=M^$A]G1*.149[*YS"6LF!%YHG\^&:>28;"EOTD$4AHF_ MZ=&/._WXH/XE98IL**^!T/PWOF8L9],GWM#$^^*#5[1'G?;HL+946)("BT@I M$-D3,8H*S9OW^^RF]VF.7M@)Q_UNQIV;\9MN@AIW$R#R/MWQRSN(X\__*?M[ MU5Z"6KN>IK% :V&:PN^B7=L\;[K%\_:FYV)-X(O0A,,*H<'I&%-631]K)D96 MKG&ULM9=K;]HP%(;_ MBI554R>UY,9]$(G254-:-U;:[;-)#B1J8J>V@?;?STY"N,R-1I=^(7;B][4? M']L<#S:4/?(00*#G)"9\:(1"I'W3Y'X(">8-F@*17Q:4)5C(*EN:/&6 @TR4 MQ*9C66TSP1$QO$'V;LJ\ 5V)."(P98BOD@2SERN(Z69HV,;VQ5VT#(5Z87J# M%"]A!N(AG3)9,TN7($J \(@2Q& Q-$9V?VPWE2!K\2N"#=\K(X4RI_1152;! MT+#4B" &7R@++!]K&$,<*RH%3")QC0>L5@5L(W PT'UF&=8T%]@:,;A!3K:6;*F1SDZDE3414&&>"R:^1 MU EO-/[Y,)E-[B<_OL_0)9KET92E49R&&,WP L0+.K\&@:.8?Y(?'F;7Z/SL M$SI#$4'W(5UQ3 (^,(40,YO0OD6$Y3-YYJ^2UF#>3:.OG!<-QR9MW,S_V'F=6,YBI7-_5J MM7O[/,4^# VY/3FP-1C>QP]VV_JL0ZO)[ "T68(VJ]R]>RIPC'PJMW8 #*O= M>8$("!UTI=.IT+E9.S-3Q]7:LYNVTW,'YEJ#TRIQ6I5Q>PT'T07R,0_ER?.T MBA@$?1U@JT[ FLP.IJ%=3D.[MJA6.IT*W3XIJIT2IU.)LW^QTZP2MR>P M%>"]FI;H+V_UY3EM%R[7%,Y3F6';\2QK=T_L54) M- 7F Q$R>2J/&!U+X:(>.YHCD.J>WDJREU/8[WB$%N8U+=&ZW ZGPME-A5,9 MU+'"37&D#Z6C69<=V^T>A[.RC[(U>Q=\F*75^V8FLR#-VY4=WEJ4CF7C:? %MFEQPNA[PB(D_LR[?E16J4 M71_,7?/\%B9SVF5$.(IA(:56HR.#P_*+35X1-,WN!G,JY$TC*X;R,@A,-9#? M%Y2*;45U4%XOO3]02P,$% @ ,8*F6J(V) E%!0 )"( !D !X;"]W M;W)K&ULS9IK;]LV%(;_"N$50PNTD4E9OF2.@316 MM@!+FS5)]YF1CFVADJA2=)SLUX^Z1+(N9N+A?-@76Q>>E^1SY".^EN8[(7^D M&P!%GJ(P3L\&&Z624\M*O0U$/#T1"<3ZS$K(B"N]*]=6FDC@?AX4A18;#L=6 MQ(-XL)CGQV[D8BZV*@QBN)$DW481E\^?(12[LP$=O!SX%JPW*CM@+>8)7\,M MJ/OD1NH]JU+Q@PCB-! QD; Z&YS34Y>Q+"!O\3V 7;JW3;*I/ CQ(]NY\L\& MPVQ$$(*G,@FNOQ[A L(P4]+C^%F*#JH^L\#][1?URWSR>C(//(4+$?X=^&IS M-I@.B \KO@W5-['[ \H).9F>)\(T_R2[LNUP0+QMJD14!NL11$% M !T="&!E &L'. <"[#+ ?FL/HS)@]-8 IPS(IVX5<\_!+;GBB[D4.R*SUEHM MV\CIY]&:5Q!G%\JMDOILH./4XOSBK_NKVZN[JZ]?;LDG@6Y^'R8:36[X"]4S>+T'Q($P_Z!/WMTOR_MT' M\HX$,;G;B&VJ8].YI?2(LWXMKQS=13$Z=F!T-KD6L=JDQ(U]\)OQEIYI-5WV M,MW/S"AX"0\GA,T^$C9DH[[QF,.ON3PA-CT8OGQ[N-,3[IK#E^ =ZKT!PZYR M;^=Z]@&].Z%X2)*7E"=YRKU.RGDDMK%*=5GPQ#H._@&?Z )%U 8(3U/09[CW M2J&-NH?6E8>3].$>W VT/4O!?D(@\6O MO]#Q\+>^K&&*+3'%7"2Q1GY'57Y')O4ROXV$?B0QJ+YT&)6.342Q83+&ETY.EZ9C2 M9I;U*R#FG6KB+F[HU%CJKE8:DW4M>>E1LNU^)KD]\)X34+(ECV&J]KN MHF9CUD:-ZCU1U5PLM2;JVGY2L_^\BA6/UX&^'9HHCSJ4G+U)P4R M(J*UYG@-?=4_((Y#I_/2$E^9*C>&!> M':U>@3C/'_Q;=?/B_8EK+M=!G.IROM*APY.)OIYE\4I"L:-$DC]S?Q!*B2C? MW #W068-]/F5$.IE)^N@>C%D\2]02P,$% @ ,8*F6H@\[( . P =0L M !D !X;"]W;W)K&ULM59K;]HP%/TK5E9-K=0V M<2 \.HA$J;HA[=$5V#X;) )@$*/*B?F(B5*3\7"E;D $A6@E+F^Y[7< ME-#,"7O%VIT(>WRI&,W@3B"Y3%,B-M? ^+KO8.=IX9XN$F46W+"7DP6,04WS M.Z%G;L42T10R27F&!,1]9X"OKG'+ (HW?E!8R[TQ,JG,.'\PDU'4=SRC"!C, ME:$@^K&"(3!FF+2.7R6I4\4TP/WQ$_MMD;Q.9D8D##G[22.5])V.@R*(R9*I M>[[^!&5"@>&;\C5U*6_LX![6?.0BWNX<?@71G&UDKZ6N^\P(*#%\V#=]47V\OO1)!(]SBZ_ZE58@4?>T"[8HV; M;_./M=@?*V]7N;&]=!_V3_#,/\WV0?OL:C"VEM%7V\?.@BVUQ]UKHDQ#^H6( M!T/LQY^II8EJUJM,. M?P-02P,$% @ ,8*F6JI(_.6\ P (Q( !D !X;"]W;W)K&ULK5C121SO;AZ:9)RF^ZS@ M:\,4)*\DV\W?KP0$C(/QNJ,7&XE[#O=(!W2E\9[Q'R(!D.AGGE$QL1(I-U>V M+>($6:[CA/8.4FI-1T7?8]\.F9;F:44 M'CD2VSPG_/4&,K:?6-AZZUBDZT3J#GLZWI U/(%\WCQRU;)KEF6: Q4IHXC# M:F)=XZL9CC2@B/B>PEX<7",MY86Q'[IQMYQ8CLX(,HBEIB#J;P*MD"ROP"J#/*7E/_E9#<0!0/%T ]P*X!X#_!, KP)XA= RLT+6 M+9%D.N9LC[B.5FSZHAB; JW4I%1/XY/DZFZJ<'*ZF'^?WS_/T6(^>_CK_N[; MW<,]^H+NE7\$R4"@EU<4)X12R!"A2[0&MN9DD[RBC[<@29J)3RK\^>D6??SP M"7U *47?$K85*E:,;:D2U(^QXRJ9FS(9]T0R'OK*J$P$FM,E+-MX6PFKU;EO MZF[<7L*OA ^0AS\CUW&''?G,_C_<[TG'JP?;*_B\4X,-.Z!;0 N(V9JFVL== M@U22^-TD^KV^$AL2P\12+ZX O@-K^OMO.'#^Z%)HB*REUZ_U^GWLT]I&72I+ M:%! ]<=F-\6>@YU@;.\.\^\*&X6!4X>U,AO6F0U[,WL>/ V0D$1"8>N,Q409 M? TT3KNS[:6[=$X,D;64![7RP(0' Y-Z#9&U](YJO:-?]V )'1Z8:^3Y3G1D MP8XH/XK<;@>&=5YA;UXSEN? XY1D78GU8B\=?D-D+9E1+3,R8;?(I%Y#9"V] MV&D65.?7#5=A#[V$L8./'=<9Y@;#;LOA@\4>G__LK6 )_,SGKI_GT@DQQ=96 M[3:J71,>K%A,:3;$UM;<5!JX=V$_XT+OG;U<[(?^L0N[PG 8G'!A4Q7@_K+@ MCDK@E.AYZ/[Z]>,OG@E#;&VU3:6!AT;<9[3",,76UMS4&+AW23_CON"]K=PP MQ,?NZPB+?&]TPGU-/8#["X('F0#OS*L7=_$,&&)KJVRJ"QP:<9W10L,46UMS M4VK@WI7]C.NBCHT$]HY-]SXJ"H_W&O;!=EO5<.OB%$*@F&VI+/>F=6]YTG&C M3SKT=OVH_QI?71?[?KNA*8]/U,YSG5*!,E@I2F&ULK59=;]HP%/TK5E9- MG;0U7Q"@@TB%LHV'T@I*]VR2"T1U;&8[T/W[V4Y("4K16N4%;.>>DW.N;^S; MWS/^+#8 $KVDA(J!M9%R>VW;(MI BL45VP)53U:,IUBJ*5_;8LL!QP:4$MMS MG,!.<4*ML&_6'GC89YDD"84'CD26IIC_'0)A^X'E6H>%6;+>2+U@A_TM7L,< MY&+[P-7,+EGB) 4J$D81A]7 NG&O1ZZC 2;B*8&].!HC;67)V+.>3.*!Y6A% M0""2F@*KOQV,@!#-I'3\*4BM\IT:>#P^L/\PYI69)18P8N1W$LO-P.I:*(85 MSHBLL@F5P"G6.X!)G;JS\/?N04-D%:>]TFFOB9KK->FW(;** M7]=YO4*=CU==@3T^PSROVW5/JJXNK-?R.R=59Q_=]"GPM6F !(I81F5^,Y:K M>9,UU$V6[A1.UE7S=6-:#ON5)N_L ]7S%F#Q,] O*EC3\!U!+ P04 " Q@J9:]O=G?JX" M T!P &0 'AL+W=OZOY+J01< ACR67.B!5QBS./%]G1504GTD%R!P9R9520U.U=S7"P4T=Z"2 M^V$0)'Y)F?#2OEN[5FE?5H8S =>*Z*HLJ?I]!ERN!E['6R],V+PP=L%/^PLZ MAQLP=XMKA3._9NV1%K@Y7K-_==[1RY1J&$K^D^6F&'B?/9+# MC%;<3.3J.S1^8LN72:[=+UDUL8%'LDH;639@5% R47_I8Y.'#0#R[ :$#2!\ M#NB^ H@:0.2,ULJ?" 'A ER6\A*8[3N^P;5V3/\K%%R5BL)7U$2D0L\M=!D+'+(M_$^ MNFJMA6MK9^%>P@NJCDC4^4C"((QWZ!GNAX\@:^'=/7*B-M.1XXO>GNE=2:I) MNKM);$V?Z 7-8.!AT6I02_#2]^\Z2?!EE\/_1+;EM]OZ[>YC3]L[1-T=VN6U M)D@<@6TWR[031T'0]Y>;)EY&'%%.N>JY%24@.5!!&$8?%V#GQ MAZ>^"3 K;@EL1*V-M)0[QNYUYR(9.YYF!!G$4D-@];>&,\@RC:1X_*Y '9M3 M!];;C^A?C'@EY@X+.&/9#Y+(=.P,')3 J\R.6.;;U )ZFN\F&7"_*)-M=9S M4+P2DN55L&*0$UK^XVU5B%I $.P("*J P/ N$QF6YUCB:,39!G&]6J'IAI%J MHA4Y0O6NS"57LT3%R6@VN9UVH<7:=L)3!-Q,B5BHH&=.,J[6F9-MB1]COF'=3U#U#@!7UT M,S]'^WN?_H5QE1(K)[!R H/;W24'UD!7@&80LR4U&IK(E2"]9A!]$(:BP#&, M'>5T 7P-3O3Q@Q]ZGULH=BW%;ANZHJ@/"Z%+5 WM:4Q(':7D:6I9=)[AHDIU@%ZHC2M4;JRE [09%NH8P0)NB:Y7L<6 M:*ZFQ +'Y8*YQ%PB94% /T^V1/P:FJT]]'J'GM^DJ)7:"[>@;X7W7\,E_3>@ M&%J*8>O>J(V(@4KU8=2UYL]Y!H'9("296FM$_8$F2652WZL9R>N$O68?'5FN M1ZUHF:.)1SN@'Z"<49F*ED(.++G!.YL\W&WR5FHO=-"Q%7[\&B8_ M?@.*OO=T^WCO8?,JZW\^[X;-/O=KEZ7_VDY_!C% #X!YH]'=VJVN7TCJSEP2 M58,,%@K*ZQRI[Q,O'QUE1[+"7/1W3*IG@VFFZJ$&7"]0\PO&Y&-'OQWLTR_Z M"U!+ P04 " Q@J9:\MIV2WP" "Y!@ &0 'AL+W=O\Y/B?.O1[77+S( D"AUY(R.7$*I:I+UY59 266 M%[P"IE=67)18Z5"L75D)P+D%E=0-/"]Q2TR8DX[MW)U(QWRC*&%P)Y#2DQ*8))PA :N)\\V_G"8F MWR8\$JCESA@9)\^2JV+B#!V4PPIOJ%KP^CNT?F+#EW$J[1/536XT<%"VD8J7 M+5@K* EKWOBU_0X[ #_Z !"T@.!? 6$+"*W11IFU-<,*IV/!:R1,MF8S _MM M+%J[(VT MLQMT=@/+%_[=;I^7!ASU@TU!7>+#_P1EW6.W%1)RXZ M*NY)%_8Y8>>5X!G(7G4-0;RS[VCD17OB#I.&8>#W:XL[;?%1;0MWJJ($>F7&!PJB.!H.]G3V9 7#CX0FG=#DJ-![KC#MTY0<'-G('PR3 M/4V'6<,@C/&ULM99M;]HP$,>_BI554R=M31Q( M"AU$@L+:2GU2H>MKDQS$:V(SVX'VV\].TL#6$'45?0.QX_O[=^?SY7IK+AYE M#*#04YHPV;=BI98GMBW#&%(BC_@2F'XSYR(E2@_%PI9+ 23*C=+$=AW'MU-" MF17T\KE;$?1XIA+*X%8@F:4I$<]#2/BZ;V'K9>*.+F)E)NR@MR0+F("Z7]X* M/;(KE8BFP"3E# F8]ZT!/AEBSQCD*WY26,NM9V1"6!F[.76R4 M4XZ((D%/\#429K56,P^YJ[FUAJ/,G,I$"?V6:CL5G-WK6F2H,,1*$(3 M^04=F/EIS#-)6"1[MM*,9B<[+'F&!8^[@Z>%KCA3L41C%D'TM[VM?:L<=%\< M'+J-@E=$'*$6_HII!T.2$!8"(@K-8$$9HVQAT)<@*(_J M: L]/]\<]>U7#X54<7B.'ODGZGC"=V4( "Y^1$H3)A!0W-/JE M$UY?>56;.(6RMT74]MKU.'Z%X[\U+,"BYH#XK[;7 ?$QKB%/*\;YK.?Z( M8HXWU1SONYR7@MM'Z_K8WW&PFW*.F^OY?V67]^J34H-@;_4R*8A%WK%)%/*, MJ:*MJ6:KKG!0]$*;Y45+J3_].C82)3#7IL[1L08019=6#!1?YIW1C"O=9^6/ ML>YL09@%^OV<<_4R,!M4O7+P!U!+ P04 " Q@J9:G&6OWF$" #7!0 M&0 'AL+W=OXXSM#-" M"- EEE&Q/=S9+P:6:[UO'!+MZDR"W84%F2+*U1WQ8W0 M,[MC26B&N:0\!X&;D35VSR:^B:\#OE*LY-X8C),'SA_-9)Z,+,<(0H:Q,@Q$ M_W8X0<8,D9;QK>6TNB,-<'_\S'Y9>]=>'HC$"6?W-%'IR#JU(,$-*9FZY=45 MMGX"PQ=S)NLO5&VL8T%<2L6S%JP59#1O_N2IS<,>P/5? 7@MP/M;P* %#&JC MC;+:UI0H$H6"5R!,M&8S@SHW-5J[H;FYQ942>I=JG(IFR^7T?GY]#>/%%);K MJXM;F"_6X\5L?GY] >/5ZF*]@H\PSPI"A;X]!7P#,\Z3BC(&AU-4A#)YI$/N M5E,X/#B" Z YK%->2I(G,K255FG.LN-6T7FCR'M%T1^.1M M^!3C#NZ_A-LZ-UV"O"Y!7LTW^(<$]9EL6/U^5E.;9[(@,8XL77P2Q0ZMZ/T[ M=^A\[K/\G\A>)�)6#P%GLT$UQ*V+97WF>UP0]KO.D:N\@-ANZG86CO]DWT MA04GOM>%O9#G=_+\-^6-X[C,2D84)D!_OE*F16/OZ_-_DW$2G :_:/U#4*/4 MWBL[T_+TR]W27 +#C88YQR>!!:)I(\U$\:*NQ >N=%W7PU1W7A0F0.]O.%?/ M$U/<72^/?@!02P,$% @ ,8*F6BH;_JTE!0 D1T !D !X;"]W;W)K M&ULK5EK;Z,X%/TK%CM:S4B3@LV[FT1*TTZG4J>M MFG;[V4VSG'PO<=X?*#)3[8EA(-?41BS MB;;E?'>NZVRY)1%F9W1'8G%E39,(94E1J"/#_PABP(?]X]).), M+U!6041B%M 8)&0]T6;P?&Z::4(6\7= #JQR#%(IKY3^3$]N5A/-2!F1D"QY M"H'%QQN9DS!,D02/?W)0K;AGFE@]_D#_EHD78EXQ(W,:O@0KOIUHG@969(WW M(7^DA^\D%V2G>$L:LNP_..2QA@:6>\9IE"<+!E$0'S_QKWP@*@G0ZDA >0+Z MOPEFGI"-G'YDELFZQ!Q/QPD]@"2-%FCI038V6;90$\3IS[C@B;@:B#P^O;Z_ MOWRYN;T%L[M+H1W-P]S>ZN;RYNK\!LL;AZ6H 16!Q_94#7((@YCC?! M:T@ 9HQP!CY?$HZ#D'T1@<^+2_#YTQ?P2<2!IRW=,QROV%CG@FMZ1WV9\[HX M\D(=O'[@Y R8\"M !K(EZ7-U^B59%NE6/5T7(U0,$RJ&"65X9@>>2K],W!'- MDJ.E4_.<[?"23#0Q]QA)WH@V_?,/Z!A_R:0.!%83;A;"316Z&,AU$ ><@%#, MME5%//L*KA/*I.J/D$X&F=:1MRGT+,."8_VMJDL69B(;%6$UQE;!V.K->+9< M[J-]B+FX,(MHPH-_<5I-9"*.=[$K[$:^;2*O(4(6ACS7DHNP"Q%V;Q%WA,OX MVBTBGN="LT&W'>4;INO)V3H%6T?)]B9>=?*5475:)) !$40-KK(P\11UD'4+ MLFYOLIV#Z[:H0,/V/*O!6!;FVE;'P^ 5C#TEXZ<$KTB,(_E@*G-/+34#@=5D M^H5,?] :ZP\I?""PFG!HE$W8&'0"Y7"U!\T5?XW'41[F./+'$58\ QQ^"N68 MO^4L#>OD7#9PJ&R3TWGFI4@BO&>8U7RV#7;RP1VT>0^%5I==MF]H#CJIH-(. MG"Q^(+2Z^-()P/Y6H-.\P'9'%[7>,9K=21YG.$;'DUJV?MB_]Y]B8&"[UX]< M0UBLIA!)G./#KCX+2U< U;:@AXG)$:N>T+0MZ#,E6 M?>G8OI%$K&+!,R/K?0AN@S61TE7#01>\$YS('K-YK]2ZK-(_P-\8"++IB$$=Q%!H=:FEAX##F@@XJ(L8"JV^1BUM!%+;B%[U+L>LSB7'J7599=='ZJZO7BZIDT]^-3,0 M6EUJ:160/>QK*:7S.%G\0&AU\:6]0/WM17>U:SL'B)R6)Y*&V7['*@25!@.I MV_I@U:[]IF$D%E-N4X8DS/&MKLI1&@JD-A1]:IW7&E%;N.4F84F48]L=?$M7 M@)2-]_1*IX;S%86N1V;]Q6S9[4UUM[^C\6A)HQT1OP/>)(1$))9/>S70J=-^ M*+2Z[-(PF'#0FF&PO=V]R:W-H965T!OPG<%:[8R) /,T MOP+X^X#.&X!V!6A;HZ4R:VM,-0WZ4JR)--'(9@8V-Q:-;EAFON),2]QEB-/! M^4G"ZS&YF5],[LCT>AY>GT^'EQ,2SF:3^8Q\)F$<,Y-VR@G+RMHQ M'^%P#)HRKHXPY'XV)H<'1^0 (\@\$86B6:SZKD:5YBPWJA0-2T7^&XK:Y$ID M.E%DDL40O\2[Z*ZVZ&\M#OUW":^H/";MUB?B>WZW0<_HS^&==^2TZXRW+5_[ M'S+>E+62M=/,:B[[F^DLZ?_=5#OU-N3[^Y<[Q3DTG8] MA2J*3)?7H%XM&^L0&ZMM0'OKV'!#VV?<9YJR6V.1+UFF"(<%4GK')ZA+EAVP MG&B1VR;R*#2V)#M,\*&PO=V]R:W-H965T$>+A5A=ZSJ?QY!B?D57D,D["\I2+&27+76^ M8H"C7)0FNFD8CIYBDFEAD%][9&% UR(A&3PRQ-=IBMF?'B1TV]%:VMN%,5G& M0EW0PV"%ES !\;1Z9+*G5RX122'CA&:(P:*C=5O7?5^-SP?\(K#E.VVD*IE1 M^J(ZHZBC&0H($I@+Y8#EWP;ZD"3*2&+\+CVU:DHEW&V_N?_(:Y>US#"'/DV> M223BCN9I*((%7B=B3+>W4-9C*[\Y37C^B[;E6$-#\S47-"W%DB E6?&/7\L< M=@2M]A&!60K,SPJL4F#EA19D>5D#+' 8,+I%3(V6;JJ19Y.K934D4T]Q(IB\ M2Z1.A#?E]"] MH\ OT3LRMDM;XATS#M&GF_63Z >25O MOY?K,KXJ0[/*T,S]K"-^0RZ(7%"R?'PLIB*DRR,AU2503-FNGU*]V]=\A>?0 MT>3+RX%M0 N_?FDYQO>Z//Z3V;MTK"H=J\D]'(/ZF$3 $%T<>V"]PL+)+=2' M9Q,ZEND'^F:WBL9Y3JRB7571;JQ"@CMUX(7*W@'W6K:Q!]YH?2*X78';'X&[ M=>#V ;CKN^X>>*/UB>!.!>Y\!.[5@3N? 6^T/A'N3(@59X>B(^@JWWYG M5,C-/&_&\K@%3 V0]Q>4BK>.VM&K USX#U!+ P04 " Q@J9:$)32&%"1 MN[[G#=R"9-2)QF;LFD=C5LD\HW#-D:B*@O#'*\C99N)@YVG@)ENE4@^XT;@D M*YB#O"NON>JY#4N2%4!%QBCBL)PX[_'E%!N B?B>P4;LM)&VLF#L7G<^)Q/' MTXH@AUAJ"J+^UC"%/-=,2L?/+:G3S*F!N^TG]H_&O#*S( *F+/^1)3*=.",' M); D52YOV.83; WU-5_,]492*VZ\Z>BYJ3VJOD=K[5ZE,IL!M,FNF_JZ H"W2$J/+SR:QWTCL=TJ\99+D-CW] MP[EP,&HKLD8-CV@:-)H&G>7\A='5,]4\>,EJ?B&R/:_#QNNP._]=I3L\R*Z/ MO3 8M1;!%J86X4CQCAIEHTYEWXY5ZNAPNG[8DF2+P78]8:,G?+Y25:IV:^,, MK3@3U@,\M"0%XW#8$FH+ZWG>$:W8^W,M>9UJ[R@I]*[_!4E]#269B%FE#@-U MX]0CF1 5H3&H"TM(^R7D':@[][U!T/)@#!?I"I*W>548%R6"J@=S%4=GG]QJD[DI7FF;!@4CTZ M3#-5[T+@.D!]7S(FGSKZY=&\-*/?4$L#!!0 ( #&"IEJN.M'(; ( &$& M 9 >&PO=V]R:W-H965T]XU]G'0O MY).J #1ZKAE74Z_2NKGU?9574!,U$@UP,[,1LB;:=&7IJT8"*5Q0S7P.[@#QFPB(^-/E]/KD3;PN'W(?N^\&R]KHN!.L-^TT-742SQ4P(9LF5Z( M_7?H_(0V7RZ8C (Q/!. N #O=+;LM32S%(3I[/YM]D*7:-ENR=(;! I2PDE MT8 :27E.&\)00U[,1F@[S00OKS7(VGA?:W0Y!TTH4U?H E&.5I78*L(+E?K: MJ+,,/^^4S%HE^(22GT2.T&3\">$ A^AQ.4>7%U?_IO&-N=XA[AUBEW=RQN&0 MFC;J9CC*UL*M:D@.4\\<=@5R!U[V\<,X"KZKO!L W/?CF+-BPHB%6&Q4>L<;C21(,P\(>%KX'BX=@ MX?_ HAX6O0=+AF#1 R')V!Q#XO?@WT>@L5O84E@?L.TI*&PO=V]R:W-H965TG&1+D:I?9EF><*DV\_FP M6.:"3ZM&23RDCC,:)CQ*!^.+ZKO;?'R1K60(V)\4J27C^^XN(LZ?+@3MX M^>(NFB]D^<5P?+'D7 *8](Q"*4)017?]9B(N*X1%+'\:L&'30QRX;M MSR_HU]7)JY-YY(689/%_T50N+@=G S(5,[Z*Y5WV](^H3Z@ZP#"+B^I_\E3O MZPQ(N"IDEM2-U1$D4;KYRY]K(EH-7']/ UHWH(&[5/.AHS@Z(7C??BCY4S#7TT88^ M6N'Y>_#^YN&"_%KQ7 J53%+]C=*YNH1R0>1"-+^(="JF1 47R:/:[#Z #7M@ MO'(4^%0L>2@N!RK-"Y&OQ6#\]B]WY'SNXA(3C"&!&3Q[#<]>A>[MO6Z/LHLM M#Y,M3#"&!&:PY3=L^6"OO(G2*%DE9!8]JVX7+G@^%R3,UB)70SG)N1IQN\C< M@+J;W"DGC/78/2FS;-UF"0QMRQ(2F,%2T+ 4@"P]9)+')%5S:RQ>HV:#%+28 M\;=H 6/9TH($9M R:F@9@;144T&XF0KXRU30Q0D(8YM[F& ,"JSRDQJ+(R%^LL7I=SJ9H^ M$Q)G/%4#6))$LNR-G;)C$VC4'KR<\M]6GH+'8TL=$IA!W7E#W3E(W==4):E2 MO*4>DQ9#V0;5=5M$.2?;@SP8VI8E)#"#)=?1 M>Q'\_('W(K\BB;$CXK!=JN M6+OA4DF[6JF-.G4N&-3D/E])=2U=R5HO / MJ:UL)UVH!@05C6&AF$$Z6(@]5MWS?2><&TO4,+>TX.S,QJNG 0C.)TK;#A7W'05G+G_=F M+::UF*"B,2PT\U:R=BK4Z96U%-5HH*(Q+#23,FTT**C*>V5M#;F=M>YVUL*A MK8DZAKV@K3H%;"_V9>W]]^L[>)J%@:U['VY)XABFA&I30OM5)2BJA4!%8UAH M)F7:0E"X--$K8?T#$Q;5.&"AF41IXT!AX_!:PNZ?86%@Z]Z'ZCBPT$Q2M>.@ MHWX)BVHE4-$8%II)F;82%-3=_1+VM#-A=TJ)<&AKHHYA(*@V$!0V$/L2]JXI M9=0_SG@8Q9'\W?!@\_!])0O)TVE)3D-39Q$6!K*FA^[<$'6V MF:$[#.I=S--MK37J5VMX>"E%=YXY[E(DW+5(Q]#\GM;\7K^R@8=:-D!%8UAH M)F5:_7NP^K]6T(0GV:I[Z4W=NMWK*>T:JE'%.Q::R8D6[QY<+M!K199YE(;1 MDL6;\!#56]HZ(Q+#23,JW>/;AJ8"E%SW?&-Z]C+1<]-L:I'E7M7 M^JQ3FL+0UG2A%@>PT$Q:M;[W::_QS$=5\ZAH# O-I$Q[!!_V"';C60W6-C)N MQW@&Q[1FZ"B/(+2>08#O]._+5<8>OI&KCRYX'PS&MNYYJ-8 "\WD55L#/^B7 MK*BW_5'1&!::29EV#C[L'"R3=;2;K&Z'N8*#6E-T#*?@:Z?@]W,*=;92.%M1 MK0(J&L-",WG55L'O9Q5\5*N BL:PT$S*M%7P,:V"OVL5NFY:PS&M&3J&50BT M50CZ/=*@2TWUH[S7==)^T+/NRU?D+4^6GW5^-]^#BT'@ [/MMJAH# O-O"C: MFP3]GGD(4'T'*AK#0C,IT[XC@.L*D^:)+G(M1"=Y]9,.OGG;SG%/M^_;P:&L MB3F&NPBTNPCZ52"P$GS_XA'XP*Q[*ZJAP4(S+XHV-$&_,D: ZE50T1@6FDE9 MZPEKN(QQ0(('G??E=]>*P)&L>4$U),/6^S?*MZ7<5 ME"A*+F8)W3DY5M'SS M I+-ALR6U2LY'C,ILZ3ZN!!\*O)R!_7[+,ODRT;YEH_F-3#C_P%02P,$% M @ ,8*F6B:\<<;W! ZRH !D !X;"]W;W)K&ULK9IK;Z,X%(;_BL6.5C/2;,'.K>TFD9K@:D>:T53M=/>S TZ#!C!KG*0C M[8]?3FF>0L+(.2V"6>-W83%J7.?%H>NY/SJ=BJ.$KYG43Y M-DF8_+7@L=C/'.R\'+B/GC:J..#.IQE[X@]49?T=\GQ]LHV(H*R%^%CM?PIGC%3WB,0]4@6#Z8\>7/(X+DN[' MOS74:=HL @^W7^BWY>#U8%8LYTL1_Q.%:C-S+AT4\C7;QNI>[/_B]8!&!2\0 M<5[^1_OZ7,]!P397(JF#=0^2**T^V7,MQ$$ (4<"2!U 3@T8U P.&=<#P MU(!1'5 .W:W&7@KG,\7F4RGV2!9G:UJQ4:I?1FN]HK2X4!Z4U-]&.D[-?;KX M@?Y 2Y:R,&(I6DH>1@K=LB"*(_4+??2Y8E&8G,L==^:__X;'WI]=6D/"?$@8!8(9Z@\:]0J:H(N*ARM@<0O= MS;T+S\.3T=3='0IN;;BOX) P"@0S!!\U@H_LE88]'ZLTUL"^ESLDS(>$42"8 MH?ZX47]\5J490TH/"?,A810(9D@_::2? %>:BH<'KRH->5UHK.WVU1L21H%@ MAMZ7C=Z75KT7^LD?W3/%T7_(\GACA?2]\B%A/B2, L&,3%PUF;@ZJ^A<04H/ M"?,A810(9DB/O=::>=9I<)-E<12P52L&H1![2THS0>E42B: MF8#6XF*KC3NO#@TZZQ!^4X= O2THC4+13-E;>XOM_O;KE\7W>_L3D)W0>PJ MVEY0&H6BF;EHG2\>G5>#0(TO*,T'I5$HFIF UOQBJ\$[KP:-3ZQ!H*X7E$:A M:*;LK?'%=N?;U"#+W6AM,[#;XGN]$O(O2)Q14ZX[K M>MVQ<\D+THDN06D^*(U"T$P9AJM>:66(WLS>)V&KQQ%;EBJ6AOEP[103U MLS7M\$KPS&3X[Y]"H?ID"M(2B75]]^N4#=2%@M)\4!J%HIG) M:%TH.6\-EH NPH+2?% :A:*9"6C]*+'[T9XWOK*QVE,C*5P=70BF1E)L;SD(NBQ/T M]VLAU,M.\39B\W[K_']02P,$% @ ,8*F6C) (+.Z P (Q !D !X M;"]W;W)K&ULM5AM;^(X$/XK5FYUVI5ZQ'9X"3U M:I=6RTGM54"[GPT92+1)G+.=TO[[LY,T87>#:5'[!6+'\\PSMI\9AM&.BQ\R M!%#H*8E3.79"I;)SUY7K$!(F.SR#5+_9<)$PI8=BZ\I, L*HR1V*<9]-V%1 MZDQ&Q=R=F(QXKN(HA3N!9)XD3#Q?0LQW8X(MC)O6=D0EEQ_L,,9L'8P881Q+!6 M!H+IKT?X"G%LD#2/_RI0I_9I#/>?7]"OB^!U,"LFX2N/OT>!"L>.[Z -BR/ MU9SOOD$54,_@K7DLBT^TJ]9B!ZUSJ7A2&6L&2926W^RIVH@] TH/&-#*@!:\ M2T<%RRE3;#(2?(>$6:W1S$,1:F&MR46I.96%$OIMI.W49'HUGSU<+&P"W91O:HK6"&)6=RXRM8>QH&4D0 MC^!,_OR#]/'?%HK=FF*W0/?>=)QM++L?P+)7L^Q9-_*!B8BM]-T2>B/;R)7F MI(S2));'">[@KD='[F.+WW[MM__& SQ#_Z:M#*Q )V[/H*8Y>*=#''P 2[]F MZ5LW1>D;!@;.UHRX@T]K%9\B(EUAH#FN: MP[?1A#0X3M*.^4\>=Q#U2I)]"TF"FS2,K9"WW!0I%B.6\#Q5K5FT1.COB<*G M/8S;-4'V*@"QNKZ.GB X*,7*F'1_UB+VR0$Q$MHXIF^6XW+'6UE8D4Z\Z:1) M_,1[)T62C\C^I$G_Q)JW3Q;E$=@;]EP45'/?/1O1I@(0>PDX399'0%^ORZ9B M$'O)>(TN^[_ILJME>4B7314@UO1]3)>#5EUZ0]P[X+A)[,2>@UMU&0IHYV'% M.O7"-]F=#-]+F=:H!M=>#TZ1Y M%'2MI5G5]:&-9U,^J+U\O$*:%<*^-#W?][UVA="F'E![)V"79F7\V\]7[/_B MU]WKVQ(0VZ([E6AMPBE;N'JV[H ORKZO65ZVS[KGV>HS0S%LM"GN#'2F%&5' M6@X4SXHN<,65[BF+QU!W\2#, OU^P[EZ&1@']?\"D_\!4$L#!!0 ( #&" MIEJ%:G$-N 4 +DC 9 >&PO=V]R:W-H965TU5INQ?37KC!@'5)S&P'>M,^_.PD M)"2DOM*YMS=7$NS']B_QD__#9;AA_*M8$B+!+>8)"S)AX>]T)I?GK7X+S,@<)Z&\8YO?2+Z@GM8+6"C2 M?\$F;]MN@2 1DD5Y9S6#B,;97_R<@]CIT'FI \H[H%H'V'VA0R?OT'GM"-V\ M0S!CB4=#SC: Z]9*37](8::]U?)IK*_[5'+U+57]Y,B_O+MZ'-]? M/5Z"JYOI_=W#]>7-_12<3-4--DM" M@B:$CU2SU6$Z0S^@BFQ%Z848=<,UB MN13@,IZ16;6_HU97+!%MEWB!C(+7F)^"#CP&J(UZ#?.9O+Y[MZ&[;^[ND^"E M[I75=(H+UDGU.@==L";,F4ZW64?[R9E8X8"JC7Y47@J.0"773J14V+M4H)XE MW_)L\K,IYEL2J_#K%_SZQIMODNU#O>D6RL*.0:R*0O5PEOA9UU^ZCLIL[)5; M]F5+Z^]M0^AV>[6]:ISLH5S[>_Z(!M K1JSP&A2\!C_2YP=[4-Q!GIY7(Y4WVKWB?0_52)F7\E94.X4Q?!NJ M\9?)E0*A.-#M X$\JQPFB*K=Y5(ABLFS!')#0@4N2HO91E)P_YG8@?TZ*N,L M#]UIMM2J3%')%!WZ! 7_@"_9_99PKC.%@DUD,S"C^*%/!JMJOBVU*M@R%$!; MJ0!:C056U7Q;:E6(93* YFC@$T[7V2,VO0D;\>W7\JCK#>J;UE(QGV-I&-/K M#IJ?C["L^:&YZ-]9[E@O]QA,I=J6:;#7J9_&. XH#L$M$S3]D>:/RV>IGP=/ M(5'I/(D(Q_K\GXV@S(-G>SX=5QR#2;;W&^\P2Q5_CO(_SZH*NXP.\.#L4#B? MP?&L9@FK:KXMM2K0,DY 6WD"6@T45M5\6VI5B&6F@.90\2K'VZ_.7>C6#<]J M'F@8$J)!_P7#*Q,!-$>"=S8\\^!5:[EA<6#P/$LA(:=I8V+57U[+O(',>:/9 M]L9!P!-53H<4/]%0H2:-[F?6/G3C6E7S;:E5N9;A!$%+[H=LYH>)537?EEH5 M8IE&D#F-[/C!]D[\UH@0[3M@_;=+\U '@WF/-('*-(&,A?8NF,];,';-\CL3 MV!K$Y](@C$6B6>Y@^K8F5\5?YA!DSB&F6O%[EFDS>$RLJOFVU*I4R[B#>K8L MTV;DF%A5\VVI52&6,0:98\RK+=/=LTRO7?\5T#S6P63>(X^@,H\@8ZG^(SS3 M/(','RJF9*XRS7H'X[#9) M7].HG1_#LW'Z-H93RF0OM5QCOJ"Q "&9*\GVJ:?V%L_>$\D.)%NE;TX\,2E9 ME'Y<$CPC7#=0W\\9D]L#/4#QML[H7U!+ P04 " Q@J9:H;!1'+8# #A M#@ &0 'AL+W=OV$AH_]4G5M+N M<,W%=QD#*++)4B9'1JS4XMPT91!#1N497P##-W,N,JJP*2)3+@30,#?*4M.Q MK*Z9T809_C#ONQ7^D"]5FC"X%40NLXR*GQ>0\O7(L(WGCKLDBI7N,/WA@D8P M _6PN!78,BN5,,F R80S(F ^,L;V^<3VM$$^XC&!M=QY)AKEB?/ONC$-1X:E M9P0I!$I+4/Q;P0325"OA/'Z4HD;E4QON/C^K?\KA$>:)2ICP]%L2JGAD] T2 MPIPN4W7'UU^@!.IHO8"G,O\EZV)L;V"08"D5STICG$&6L.*?;LJ%V#% G7H# MIS1P#@V\/QBXI8&;@Q8SR[$NJ:+^4/ U$7HTJNF'?&UR:Z1)F/Z,,R7P;8)V MRK^\NIL^CN^GCU=D>C.[OWNXOKJYGY$/9$)E3#[A5R9?((Q DI-+4#1)Y7M\ M^3"[)"=OWY.W)&'D/N9+25DHAZ;"&6E=,RB]7Q3>G3]X=\DU9RJ6Y(J%$.[; MFTA2X3C/.!=.H^ U%6?$M4^)8SF=FOE,_MW<:YB.6ZVNF^NY+UK=NG4J=+QZ M';V7S^6"!C R<+-*$"LP_'=O[*[UL0ZR);$]9*]"]IK4_<]X=)"3E$L,% $! MCUCR"T(=)US%($C ,_0:ZX-@!=B-;2C'UZU+X:R;.]-'TLK_T.M80W.URWL\ MR.YVMX/V.#H51Z>18YSQ)5,:(:52)O,$(>:"9WCP!,MLF5*%'0U("*PX 2I8 MPJ+:K5'X[^S,VNFZ!V3'8_H#KQZL6X%U&\$.-W;=U!H57AJ-+8GMP?8JV%Y+ M&[#7)G)+8GO(_0JY_[K '7^=3#$L,2KQ!]"Q(K#!=$ "WCDJQH!EL%%$K2'% M,,[R@[ENI?I',=GI'(1MXPQ?R3^H^ >-_'B[KZD(<5WB;XZ(KP[3W$7*L+G1-'-J;Y%_NV^J>5W_KY3FR?W6OAM M?F0WYB)M9PNEMV;BXS$#I_Y*M;=)C]V<]?S_;,$^3G)HLZ[4+7:;K8..C'^FV<5RWF5J8H_C"-CA(F20ISE+3. M>KC8HJBGBH;BB[PD>>(*"YS\,<8:%(0>@._GG*OGAG905;7^;U!+ P04 M" Q@J9:Y7V("C$" !T!0 &0 'AL+W=O!2J79&B,Q*J*F<\!8:?5)P45.E M0[$GLA5 W>1J0Q/ZB*-; 12![JFHH_"ZAXEV ?GS?N MV;Y49H.D<4OWL 7UO=T('9&!)6;%&QLF. M\P<3W.4)]HP@J"!3AH'JUQ&64%6&2,OXW7/BX9,&>+D^LW^RWK67'96PY-5/ MEJLRP1\PRJ&@ATK=\^XS]'YN#%_&*VF?J'.Y08A1=I"*USU8*ZA9X][TU-?A M J!YQ@%!#PB> J)G &$/"*U1I\S:NJ6*IK'@'1(F6[.9A:V-16LWK#%_<:N$ M/F4:I]*[+\NOZQ7Z-O^UVJ(WMZ HJ^3;F"C-;3)(UO,L'$_P#$^(UKQ1I42K M)H?\,9YH38.PX"QL$5PE7%,Q0:'_#@5><#.B9_ER>'1%3CC4*;1\X0OJ-!DK MCX-'XW#3BS/9T@P2K)M-@C@"3E^_\J?>QS%O_XGLD=-HE.&6 P M4 T !D !X;"]W;W)K&ULK5?;;N,V$/T50ET4 MNT VNEF^I+: Q/&B!1(TB'?;AZ(/M#2VB95(EZ3BY.\[E!1&3FDU&_C%%J4Y M1^>0P^%HNA?RN]H":/)8%ES-O*W6NPO?5]D62JK.Q0XX/ED+65*-0[GQU4X" MS6M06?A1$ S]DC+NI=/ZWIU,IZ+2!>-P)XFJRI+*IRLHQ'[FA=[SC7NVV6IS MPT^G.[J!)>AONSN)(]^RY*P$KIC@1,)ZYEV&%_,P-H ZX@\&>]6Y)L;*2HCO M9O!;/O,"HP@*R+2AH/CW ',H"L.$.OYI23W[3@/L7C^S?ZG-HYD553 7Q9\L MU]N9-_9(#FM:%?I>['^%UE!B^#)1J/J7[-O8P"-9I;0H6S J*!EO_NEC.Q$= M0#0Y HA:0/160-P"ZIGS&V6UK6NJ:3J58D^DB48V@Z:L M4)\0^&UY33Y^^$0^$,;)UZVH%$:KJ:]1G7F'G[5*KAHET1$E,;D57&\56? < M\D.\CZZLM>C9VE742WA+Y3F)PS,2!5'BT#/OAU]#9N&#'CFQG>FXYHN/S31@ MMCGGI<$-W#BSCR_4CF8P\W"C*I /X*4__Q0.@U] M%,9LFSTNRPW/L.8QE>8A#9-D@JOTT/7BBAHD QMU(#*Q(I,WBJQ7Y(SUD=KO4]%=O!W WMW U_:($[-<'E?/B?]1N,HO#5(CN" MQM&1-1Y9G:->G3>";SYKD&6GE+U)<4.;=#,NF(SC5Y)=4:,X=FL>6\WC7LU? MA<8,>Y/*L6-?C(+!*Y6NJ"09N55.K,I)KTJQJ_-?"P)F!^0N>?T,&A/4E=B] MJ'<6KC!X.0:#_\ELX\LN #3;VSC%+'*?9OV$"7D"*EW(>3_RO58[)W[8J^R6 M/K*R*IV>>I$_>A2=BNW09_3B,WKG@=L"3V7S1&R'-E_:BK#W2$_OP73KIL)E MV#])[(LK3./C:=O/UI>V)VTM_$[/BL?GIF[E%7JHN&[:5WO7?BY M?&M@H[=A7.'672,T.!]A999-^]X,M-C5'?!*:.RGZ\LM?O* - 'X?"V$?AZ8 M%]B/J/1?4$L#!!0 ( #&"IEHQ]D$OCP( -X& 9 >&PO=V]R:W-H M965TRIAJ7FC#M9:O?N9):*I:X8ASM) MU+*NJ7P90R76(\=WMAOW;%%JL^%F:4,7, 7]V-Q)7+D]2\%JX(H)3B3,1\ZE M?S%)3+TM>&*P5CMS8IS,A'@VBY_%R/&,(*@@UX:!XK"""525(4(9?SI.IS_2 M '?G6_8;ZQV]S*B"B:A^LT*7(^?<(07,Z;+2]V+] SH_L>'+1:7L+UFWM6>! M0_*ETJ+NP*B@9KP=Z:;KPPX >88!00<(]@'1.X"P X36:*O,VKJBFF:I%&LB M336RF8GMC46C&\;-OSC5$I\RQ.GLU_7E]'I*OI*)J!O!@6M%Q)Q4@*TAL,&7 M!H$ZQZG5^3XZ(0<$<;)0RF6BO)"I:Y&,8;2S;N#Q^W!P3L'A^16 M<%TJO!]:,D22V;"997Y4>"E[FK7ST"1'WWKBU[IC'N=\4&= M3U0R.JO@XU);OGA'1>3O*WU;$\3QL-"D%YH<%/H@-*V&]"1ONW(>[@L:*(J\ M:$^1NQ,5-X_FC;Y\28M&%?8 MXSE2>J=GV"/9IFF[T**Q@303&N/-3DO\ ($T!?A\+H3>+LP!_2&ULK55K;]HP%/TK5YDTM=*&\X)N+$1J::=-VC14M/6S22[$:F)GMB'E MW\]V0@130)6V+\2/>\Z]Y]B^)(V0SZI U/!2E5S-O$+K>DJ(R@JLJ!J)&KG9 M60M946VF1\\R'%-MZ5^%,T7[/2,+5\F2N5^H6EC;\8>9%NE1=6!3045 MX^V7OG0^' '"^ P@[ #A7X!@<@80=8#("6TK<[+NJ:9I(D4#TD8;-CMPWCBT M4<.X/<6EEF:7&9Q.OSW<+A^6\!Z>G&#,@>Y0FO,S1V0O >,;*-'X!!IE!93G MD#.5B2W7(*E&N+I'35FIKA.B33V6E61=[KLV=W@F]WB_@?O3BYZ$/:VP1!>Z%LO]RE_LB/@H\)V1U+ M.Q<7]W&M G+TCFT/-0]DP[@R!:X-T!_9KB/;OM1.M*C=TUX);1J%&Q:FE:.T M 69_+80^3&RWZ/\&ULK99O3]LP$,:_BI6A":1!_C=MUT:" M MHD)E44MM=N>VDLDKBSG1:^_6PG9"4-9HKVIHEC/^?? M\ZS@4RL58CNV;;Y*($)+D9$"Y@SQ,L\Q>[F"C.ZGEFN]/K@GFU2H!W8\V>(-+$ \;N=,CNPF MRIKD4'!""\0@F5J7[GCF:H%>\9/ GA_<(V5E2>F3&GQ?3RU'$4$&*Z%"8'G9 MP0RR3$62'+_KH%:SIQ(>WK]&O]7FI9DEYC"CV2^R%NG4&EIH#0DN,W%/]]^@ M-A2J>"N:"R5DB=2*^N[E!Q<8U.3\[0 M"2(%>DAIR7&QYA-;2$JUE[VJB:XJ(N\=HA^872#?_8(\QPL[Y#.S_!I6C3QX M*[=E;IH$>4V"/!W/-R:HRT:E"[IUZO4;\RU>P=22[Q<'M@,K_OS)'3A?NTS] MIV!O+/J-1=\4/;X'];[K T[>R_I5%6*@0ZAOPR[V1XXSL7>'+HS[]'01-"X" MHPL)/N@"KU3A 7@0AD$+W!BZ)WC8@(&[@D>->#11^"C+O#H"-P-_5$+W!BZ)_BP 1\:P1]2D+4Z M$<"Z\(?'^&X0MO"-&_3$'S7X(S,^%3A#255IWE:8+C^C8S^1Z[4-&;?L:H] EDA3RF("+S@KH'%D[=P//;5DS[]W7VT%K MX!J]S2LS:(>S$E1MJ(XL(WA),B((=%=W]ZA2N&'DM#]!ZJ! M:AKF^ ]02P,$% @ ,8*F6A:-L$%^ @ 908 !D !X;"]W;W)K&ULK55A;YLP$/TK%JNF3MH* 9*N'4%JTDZ;M&I5LVZ? M7;@$J\9FMDFZ?[^S36B:T:@?]@5L<^_YO?/YR#92/>@*P)#'F@L]#2ICFO,P MU$4%-=4GL@&!7Y92U=3@5*U"W2B@I0/5/(RC:!+6E(D@S]S:C,O^V7E'+_=4PUSR7ZPTU33X&) 2EK3EYE9NOD#GQPDL)-?N239=;!20 MHM5&UAT8%=1,^#=][/*P T">84#< >)]0/H"(.D B3/JE3E;E]30/%-R0Y2- M1C8[<+EQ:'3#A#W%A5'XE2'.Y-^N+A97"_*!+-JFX8#G8R@G!=456>()$R9\ MI?A#X]1 28PD'#!UFAQ?@J&,ZW=(<+>X),='[\@18LB/2K::BE)GH4&5=J^P MZ!3-O*+X!44)N9;"5)IN:O MAZ<'Y"1]QA/'EQS,^%!>/"X=QMGK?*X;6L TP/NJ0:TAR-^^&4VB3T.F_A/9 M,XMI;S$]Q)Y_;T!AR8C54R%IK!#9+_OR&[8D+=VYL#6KE&IDFA6R%\97= MK_I>.<->Z7K*WCKVT O7.L(G&M^ L6Y73&BTLT3*Z.04A2G?U/S$R,;UA7MI ML,NX887_ 5 V +\OI33;B=V@_[/D?P%02P,$% @ ,8*F6I@#]XJZ @ M* @ !D !X;"]W;W)K&ULK59K;]HP%/TK5UE5 MM5+7A 1"UX9(/#JMVMHAH)OVT4TN)&IB9[:!]M_/=D(&-$6;Q!?BQSW'YS@W M]Q*L&7\6":*$ESRCHFV MZSB^G9.46F%@UL8\#-A29BG%,0>QS'/"7P>8L77/:EF;A4FZ2*1>L,.@( N< MHGPLQES-[)HE3G.D(F44.,Y[5K]U/>SJ>!/P(\6UV!J#=O+$V+.>W,4]R]&" M,,-(:@:B'BL<8I9I(B7C=\5IU4=JX/9XP_[9>%=>GHC (M:5!3'. MR3*3$[;^@I6?CN:+6";,+ZS+6-^U(%H*R?(*K!3D*2V?Y*6ZARV XFD&N!7 MW0>TWP%X%< S1DMEQM:(2!(&G*V!ZVC%I@?F;@Q:N4FI?HM3R=5NJG RG-Q^ MZ\]N1S#N3V:_8#;I/TS[P]G=]XRH.FY0'N>^Q=M*>JW?W>@?N <)[PF_!*]U M :[C=AKT#/\=WCX@QZNOTS-\WGO7B1F1&,.8I3Y0@7R%5GCZH>4[-TU&CT2V8[M=VVX?8E>VJ01\4:5%8)/1$NT; MM*XKJ[#E7@7V:EO_VYA/7AVRHZI3J^H<5/55Y2AR :?-MCDL8@F6HMI?U"VV]R MW'V3:,Y>*KZ-:'4[SEXRVEM%-T>^,+U(0,265);UJUXMV]U M3O3%O;651OL MF^IO_Z4I>ZBJ3HN4"LAPKBB=RZY**U[VI7(B66%*^Q.3JE&88:):.7(=H/;G MC,G-1!]0_SD(_P!02P,$% @ ,8*F6@B=>AX5 @ C00 !D !X;"]W M;W)K&ULC51=CYLP$/PK%I6J5FIC LFU2@$IN:2] M/N0:7:[MLP,+6.U#:&IE(OZ EY[9W8&[Y)T4CWI&L"@9\Z$3H/: MF&:!L*'M*+;^$:V7CTOT'GTS-2CT9@V&4*;?)MC8&BX3YP/? MJN>+7N"+T58*4VNT$044_^*QU38*C$X"5]%5PBU1$Q1/WZ$HC.9(0V4[PESA MC4?CL>>-_\/X)9L]>G89[49EH1N20QK86="@CA!DKU]-;\)/5[3-1FVS:^S9 M?&ULK5A;;]LV&/TKA%8,+;!&(F7=/%N M8Z=='](%2=H],Q)M"Y5$CZ3C#MB/'T4INIE2FUDOMB[?.3R'_JAC<7&B[!O? M$R+ ]RS-^=+8"W&8FR:/]B3#_(H>2"[O;"G+L)"G;&?R R,X5J L-9%EN6:& MD]P(%^K:'0L7]"C2)"=W#/!CEF'VSS5)Z6EI0./EPGVRVXOB@ADN#GA''HCX M(D(SE/: X8V2Z-%9ROD0*HBJ\).?'6,2BL/%'ZK3CY%"\-JU!$ M4A*)@@++KV>R)FE:,$D=?U>D1CUF 6P?O[!_4.:EF2?,R9JF?R6QV"\-WP Q MV>)C*N[IZ0]2&7(*OHBF7'V"4UGK.@:(CES0K )+!5F2E]_X>S41+0 < J * M@/J V0# K@"V,EHJ4[8V6.!PP>@)L*):LA4':FX46KI)\N)G?!!,WDTD3H0/ M-Q]O;SX_@LWJ<07>@WL2T3Q*T@2K27Z[(0(G*7\G;WUYV("W;]Z!-R#)P>.> M'CG.8[XPA511<)E1->)U.2(:&-$&MS07>PYN\IC$7;PIU=<6T(N%:S1*>(O9 M%;#A;P!9R-'H6?\\?#8BQZYGU%9\]M",DIUL1P6F-[=N Y M/87G5;Z%;*07Z-8"W5&!'QGE'!P8W29")\T]&]1QH0U[TC15GHM\O32OEN:- M2JN? /D.?!(DT_ZZHQ2O[>&)R#IN_=JM?]%B]:B#?)3NU9XF8NN:;V(97I;+ M<-)@GHJM:[:)9GA!-E?8=G-!B#R['WW:.M_SG8$^;.(93I'/\#QZ7>2B,Y6: M,L]S9P,BFXB&EV4TU,2O!:'5EZ#H/)@1]&?]_-:6.@=WT%YRNU,6 V-.7^BGQKW24Y!RG92DKK MRI,3QLHMB_)$T(-ZZW^B0M!,'>X)C@DK"N3]+:7BY:08H-XX"O\#4$L#!!0 M ( #&"IEHXM"B:.@, (\, 9 >&PO=V]R:W-H965TV;8,EA!3><)3 M2/#-G(N8*FR*A2U3 30THCBR&X[3MF/*$LOOF6<3X?=XIB*6P$00F<4Q%8\# MB/BZ;[G6TX,KME@J_<#V>RE=P!3433H1V+)+EY#%D$C&$R)@WK?.W;.A:P2F MQRV#M=RX)QIEQOF=;OP(^Y:C1P01!$I;4/Q9P1"B2#OA..X+4ZN,J86;]T_N M7PT\PLRHA"&/?K-0+?O6J45"F-,L4E=\_1T*($_[!3R2YDK6>=\.=@XRJ7A< MB'$$,4OR7_I03,2& 'VJ!8U"T/A70;,0- UH/C*#-:**^CW!UT3HWNBF;\S< MHL$0OXU0)?,M0I_SIS6 Z_G4S_GE-QK=XG9+/(U"41?*0').;Z8A\/C@D M!X0EY'K),TF34/9LA9&UW@Z**(,\2N.5*"ZYY(E:2C).0@@K],-Z?;-&;R-Q MB=UXPAXT:@W/4W%"FLX1:3@-KVH\]?)+JN6ND;=JAM,L5Z%I_)JOK4(VDW"? M0:+(>(77RBG.+5K5%GJ[G\F4!M"W<#]+$"NP_(\?W+;SI8IO3V9;M*V2ME7G M[D\$#P!"2>:"QR00$#)%YC1@$5./5>2U=KN2YV9M8Z8/N97O>8[3LU<51%Y) MY-42;:P?Z/4C?\B0"O%)DF^"9RF97 R/,'<7* /!D@49L173)V$5;6VH76GW M9+8U*^UR5MKOS^KV/FGW9+9%VREI.[4Y,,@D/I$2OTSW&2ZN_DH=D8#C%R\$ M0=4KJ]UYD8[=;L=[SL<_!WGAYVUF>V?S]"V*@=JP;\7:*(G< M6JQ+^L#B+"8S+E"K,SJ@&.XU)O?%#G9=9'H!51MT5RA[H^2+02Q,)2SQN,D2 ME5=_Y=.RVCXW-:;]W#TOU;&8P;TK201SE#HG'5P>D5>_>4/QU!20,ZZP'#6W M2_S' $)WP/=SSM530PS]XMW% M1??I^G8_?F6 :S]PBO:/$.UT]84J&Q23CX^3/R2.2=\8K340>MT6UX'RW?3=1*W4D('(X=N\BZ[H0=-K8T&>2DV)1?Y-J#U24&] M9\*'_IAP-I$,6#DI&%_9< \"TY*7TE.ZUG7"$"+U+PN'M@>/0:-3,%%*D]MF ML+\GS? ]8-T#@XSSUF#/MX'1H")*42GN=,<,-L$7D->T'U>5=CB39!7V^OZ& M8&XZR:24&95MFM!?AT8#3G.P(]EL#G=55@& 2I6%;F2,S$I!C(^92L6FVY&?DE2/=*G6Y;3,<<^],_3\=]=Y1@65A&^;UK5_RJO\:L?1S;^R M;+Y5]@T[/38O_E,WV3\'D_$YF#R+FDS.P61Z^B:C,_#8'$]/W61XDB:#YKBV M=2;<.1&V40].WD/_&YSD^2:I-UDPKIAH>G.6952\.!AJ>44F^D_2'7T]/J,Y M67#UV()#?]/^2C.V*-)VU#TL1#-JT_X"TPOC]MBOF& MSMI<0-A'[LSE1C".Q=P(8%@>S '&L2PLS_\TGP2=C\4P;XD325!.@G(LRX6, MS0?+X^:D^G+/-$VC*(ZQ%1V/G0[&V+K%,?RXU3!OP,#R0*8_6VM\M_$*.5P' MV)X>JA!LIG@E8C/%UQH0][H!(TW=NXWE 0:V"UCM0'YW'J@I-R>*8%TJB*$W="&!N!U&$(? TX@CF #Q@2!29]^#> M^RA8OZ>"S?]I1[\!4$L#!!0 ( #&"IEJ7BKL

-8?20$3; M8T.P6BP^0"X99K>]9!:G[AJ1W3S<*R+:F6'@DG#3]ZRMPW%M:NG,O6S_9@"P^UK#?2NCM8ZT_W]?U M9_9E5RES.=HVS?[->&R*K=AQ\U>]%\H>6==ZQQN[J3=CL]>"EV8K1+.KQL[% M13#><:E&[]Z>^EKJ,=RH&U$TLE9V9[OC3HI'\]_Q=I,]2"/O926;I\M1][T2 M([:32N[D5U%>CBY&S&SKQ_>UEE]KU? J*W1=59>CR?' G="-+'[:G;60.;\W MW9Z&WZ^X!;DVP[74INE:=/USR_@@;./CUJ&IKV75"#WCC;C1]6$OU:;M MQE[%&%Q&%X?3YS&(;_3_"6.]7LM"S.KBL!.J.<91BZH%5&8K]V;$%-^)R]&I M">.J9+%J;)!8HHY=V;;ME=I3)^7QJAN+"V*HWTA[0"=E!TX'&2W269QF\8S9 M;]EBGLS"W&Y:^P%+W!2W3*KZ+T]N8K>)H M84/8LD$TU"K$6DE2BY8O5OW_;X(Y9$(LD9O%8O8IF<]9F,[8(G\?KUB2YF%Z MDUS-8Q9"3,PB$V*-S.*K'+)@LI@0VV(6KY*[,$_N8ANJ+%_=6H_EO3\4L\2$ M7!,?/B1YA]3]IS;%M8DC3G_(&A/,$A-B322IQ8Q9'O[=9\*D,"&VPCP.LSX- MEOTGQ.E_%<\[*2W#5?X/RU=AFH713WD62_T3XMR?Q3?M7<:L/&&:<+#<[Q#G M_NSV*HL_WK98K05Z3Z6#97Z'./,O^1-[,&PI=/=S50@VDZ:H:G/0 D*BXPEB M%R3*R%)HEFM>VN$A"[7F:B/:7QG(B(G (18!6A;U2G4'DSFH0 M.$7A8@9QSVH0.$GA8@9QB0V"8P80$W.)2^P2'',*,3&=N,0ZP3%?04S,+"ZQ M67IEPTN6'78[KI_LMR1:K-@+B(F9Q?V-LU,6;GG0Q98;P9;:_IY%<.X9(<)["Q]SC$[L'QX0UNX^YQS_GRY1> MS>YC[O&)W8-CPIK=Q]SC$[L'QX0UNX^^EB=V3S=_80L-VU5YL&*LUZRH=WNN MGOXPK(23NS[F'I_8/2?,YWK(4O+-1HN-Q6%[+2$FYAZ?V#W/F,Z%X[%("YO+ M66@QNTEHFSXA)N8>G]@]SY@15[R47)U0KWG1+?N"F)A[?/*YM<%IK-/="M>, M8!8*SC/;]O+YF8*8F(4"8@O],IH1-UMV#3$Q"P74KW' R]7!BB/ Y!,0R^=Y MRK*?,&V'VC95&UA,;"ZO5?L*K 6M1#M($U\@)B:?@%@^WS$_ M";G9-J)D_,&&8F'R"W[($ MH+/D?E]USN$5*]JG>UW5CQ 3DT]PMK4!W>,.,3'Y!+]Q@8"-Z:+9"CV8CZ:8 M>Z;42P;ZE"M1U*J5>->R-Y6?:>6?<-3;OWI9B+94H M4]N]L?L+7A5+S=J/XZ(TSV^7EZP/5179?0LUKWEY6C%^6NW^[AM02P,$% M @ ,8*F6JQM4%<\ @ KRH !H !X;"]?;]LAZ:KV71;>@.2GGS0)(K'H>W=3T@7R2.S MF$WQ6SER\?O7Y?R9VF\U^G7]WZS_' M?!K_,;C^Z(;WLLMYK!:O[;#-XZJJ/P_7W:6^;-+=>7*U>'Y;5I@_*"U1QB5! MT@1K JT3@WD*@MZ#>0J"WH-Y"H+>@WD*@MZ#> M0J"WH-Y"H+>BWDJ@MZ+>2J"WHMY*H+=.7I80Z*VHMQ+HK:BW$NBMJ+<2Z*VH MMQ+HK:BW$NBMJ+<2Z&VHMQ'H;:BW$>AMJ+<1Z&VHMQ'H;9.7W01Z&^IM!'H; MZFT$>AOJ;01Z&^IM!'H;ZFT$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'K[ MY&,E@=Z.>CN!WHYZ.X'>CGH[@=Z.>CN!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'> M@7H'@=Z!>@>!WC'YV81 [T"]@T#O0+V#0.] O8- [P;U;@CT;E#OAD#O!O5N M?E+O,GX=?H+4$L#!!0 ( M #&"IEI :Q>Z ( ,8I 3 6T-O;G1E;G1?5'EP97-=+GAM;,W:34[# M,! %X*M4V:+&]6\!43; %EAP 9-,VZA);-D&RNUQ4D "004J$F_3J+4];^*1 MOE7/[IX]Q>KSRM*%SJ;\-:R8M]7&KHB)V6NZ)'^Y-3OF':??*#\\1#*>G/A>BD)K]K_B>F$L?_'XT3+NF^H?9^7J?7-B,\XAL M?!Q^QQ]G_%[_EWT(D#XD2!\*I \-TH?X"4$L! A0#% @ ,8*F6D;'34B5 S0 ! M ( ! &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4 " Q@J9: M]#%)O?( K @ $0 @ '# 9&]C4')O<',O8V]R92YX M;6Q02P$"% ,4 " Q@J9:F5R<(Q & "<)P $P @ 'D M 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( #&"IEJ\!F7C\@4 M .H? 8 " @24( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6E\8 M@FAE P C0L !@ ("!:14 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0#% @ ,8*F6GF!*T"J" MR< !@ M ("!MR( 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ ,8*F6O=9R0-6$P -SH !@ ("!!38 'AL M+W=O&UL4$L! A0#% @ ,8*F6B55[VA(!0 S T !D ("! MCE( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ,8*F6GM/'8A4#0 :BH !D ("!/&$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6G/XKEL8 M P +@< !D ("!RWH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6LX+?A/> P Q H !D M ("!7(@ 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ ,8*F6A.MA^M$ @ B@8 !D ("!C), M 'AL+W=O&PO=V]R:W-H965T 0 '80 9 M " @2JJ !X;"]W;W)K&UL4$L! A0#% @ M,8*F6FGQXQ&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6M8/#8."! MW0X !D ("!/[H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6JC'NM<4!0 '!$ !D M ("!Q,4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ ,8*F6M[H-X5@ P T0P !D ("!P] 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F M6IUN89G P "PT !D ("!=-P 'AL+W=O&PO=V]R:W-H965T;C !X;"]W;W)K M&UL4$L! A0#% @ ,8*F6K?KMBL8!0 RR0 M !D ("!R^@ 'AL+W=O&PO=V]R:W-H965TSP !X;"]W;W)K&UL4$L! A0#% @ ,8*F6J(V) E%!0 )"( !D M ("!8?0 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ,8*F6HZIDY3U @ G@H !D ("!%0$! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6O+: M=DM\ @ N08 !D ("!4 H! 'AL+W=O&PO=V]R:W-H965T80( -<% 9 " @5P0 0!X;"]W;W)K&UL4$L! A0#% @ ,8*F6BH;_JTE!0 D1T !D M ("!]!(! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ ,8*F6A"4W+P< P =0H !D ("! M11X! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ,8*F6B:\<<;W! ZRH !D ("!-2P! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ,8*F6C'V02^/ @ W@8 !D M ("!944! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ ,8*F6A:-L$%^ @ 908 !D ("! 4X! M 'AL+W=O&PO=V]R:W-H965T%0( (T$ 9 M " @:=3 0!X;"]W;W)K&UL4$L! A0#% @ M,8*F6LKW<83M P 1!( !D ("!\U4! 'AL+W=O&UL4$L! A0#% @ ,8*F6I>*NQS $P( L M ( !!&$! %]R96QS+RYR96QS4$L! A0#% @ ,8*F6H.=E^K?!0 M<2\ \ ( ![6$! 'AL+W=OZ ( ,8I M 3 " 6UJ 0!;0V]N=&5N=%]4>7!E&UL4$L%!@ 0 !0 % YQ4 )YL 0 $! end XML 85 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 86 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 88 FilingSummary.xml IDEA: XBRL DOCUMENT 3.25.1 html 155 317 1 false 63 0 false 7 false false R1.htm 995200090 - Document - Document and Entity Information Sheet http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME Statements 4 false false R5.htm 995200205 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (Parenthetical) Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (Parenthetical) Statements 5 false false R6.htm 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY Statements 7 false false R8.htm 995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Parenthetical) Sheet http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquityParenthetical CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Parenthetical) Statements 8 false false R9.htm 995210101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies SIGNIFICANT ACCOUNTING POLICIES Notes 9 false false R10.htm 995210201 - Disclosure - ACQUISITIONS Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitions ACQUISITIONS Notes 10 false false R11.htm 995210301 - Disclosure - REVENUE RECOGNITION Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognition REVENUE RECOGNITION Notes 11 false false R12.htm 995210401 - Disclosure - INVENTORIES Sheet http://www.cadre-holdings.com/role/DisclosureInventories INVENTORIES Notes 12 false false R13.htm 995210501 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets GOODWILL AND OTHER INTANGIBLE ASSETS Notes 13 false false R14.htm 995210601 - Disclosure - DEBT Sheet http://www.cadre-holdings.com/role/DisclosureDebt DEBT Notes 14 false false R15.htm 995210701 - Disclosure - DERIVATIVE INSTRUMENTS Sheet http://www.cadre-holdings.com/role/DisclosureDerivativeInstruments DERIVATIVE INSTRUMENTS Notes 15 false false R16.htm 995210801 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 16 false false R17.htm 995210901 - Disclosure - INCOME TAXES Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 17 false false R18.htm 995211001 - Disclosure - LEASES Sheet http://www.cadre-holdings.com/role/DisclosureLeases LEASES Notes 18 false false R19.htm 995211101 - Disclosure - RELATED PARTY TRANSACTIONS Sheet http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions RELATED PARTY TRANSACTIONS Notes 19 false false R20.htm 995211201 - Disclosure - SEGMENT DATA Sheet http://www.cadre-holdings.com/role/DisclosureSegmentData SEGMENT DATA Notes 20 false false R21.htm 995211301 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.cadre-holdings.com/role/DisclosureSubsequentEvents SUBSEQUENT EVENTS Notes 21 false false R22.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 22 false false R23.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 23 false false R24.htm 99920102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 24 false false R25.htm 99930103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies 25 false false R26.htm 99930203 - Disclosure - ACQUISITIONS (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables ACQUISITIONS (Tables) Tables http://www.cadre-holdings.com/role/DisclosureAcquisitions 26 false false R27.htm 99930303 - Disclosure - REVENUE RECOGNITION (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionTables REVENUE RECOGNITION (Tables) Tables http://www.cadre-holdings.com/role/DisclosureRevenueRecognition 27 false false R28.htm 99930403 - Disclosure - INVENTORIES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureInventoriesTables INVENTORIES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureInventories 28 false false R29.htm 99930503 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) Tables http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets 29 false false R30.htm 99930603 - Disclosure - DEBT (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureDebtTables DEBT (Tables) Tables http://www.cadre-holdings.com/role/DisclosureDebt 30 false false R31.htm 99930703 - Disclosure - DERIVATIVE INSTRUMENTS (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsTables DERIVATIVE INSTRUMENTS (Tables) Tables http://www.cadre-holdings.com/role/DisclosureDerivativeInstruments 31 false false R32.htm 99931003 - Disclosure - LEASES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureLeases 32 false false R33.htm 99931203 - Disclosure - SEGMENT DATA (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureSegmentDataTables SEGMENT DATA (Tables) Tables http://www.cadre-holdings.com/role/DisclosureSegmentData 33 false false R34.htm 99940101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details) Details 34 false false R35.htm 99940102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Secondary Offering (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails SIGNIFICANT ACCOUNTING POLICIES - Secondary Offering (Details) Details 35 false false R36.htm 99940103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Assets and liabilities measured at fair value on a recurring basis (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails SIGNIFICANT ACCOUNTING POLICIES - Assets and liabilities measured at fair value on a recurring basis (Details) Details 36 false false R37.htm 99940104 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) Details 37 false false R38.htm 99940105 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) Details 38 false false R39.htm 99940201 - Disclosure - ACQUISITIONS - Summary - ICOR (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails ACQUISITIONS - Summary - ICOR (Details) Details 39 false false R40.htm 99940202 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - ICOR (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails ACQUISITIONS - Purchase Price Consideration and Fair Value - ICOR (Details) Details 40 false false R41.htm 99940203 - Disclosure - ACQUISITIONS - Intangible Assets and Contingent Consideration - ICOR (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails ACQUISITIONS - Intangible Assets and Contingent Consideration - ICOR (Details) Details 41 false false R42.htm 99940204 - Disclosure - ACQUISITIONS - Changes in the contingent consideration liability - ICOR (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails ACQUISITIONS - Changes in the contingent consideration liability - ICOR (Details) Details 42 false false R43.htm 99940205 - Disclosure - ACQUISITIONS - Summary - Alpha Safety (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails ACQUISITIONS - Summary - Alpha Safety (Details) Details 43 false false R44.htm 99940206 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Alpha Safety (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails ACQUISITIONS - Purchase Price Consideration and Fair Value - Alpha Safety (Details) Details 44 false false R45.htm 99940207 - Disclosure - ACQUISITIONS - Intangible Assets - Alpha Safety (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails ACQUISITIONS - Intangible Assets - Alpha Safety (Details) Details 45 false false R46.htm 99940301 - Disclosure - REVENUE RECOGNITION - Net sales by channel and geography (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails REVENUE RECOGNITION - Net sales by channel and geography (Details) Details 46 false false R47.htm 99940302 - Disclosure - REVENUE RECOGNITION - Includes all Distribution sales (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails REVENUE RECOGNITION - Includes all Distribution sales (Details) Details 47 false false R48.htm 99940303 - Disclosure - REVENUE RECOGNITION - Contract Assets and Liabilities (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractAssetsAndLiabilitiesDetails REVENUE RECOGNITION - Contract Assets and Liabilities (Details) Details 48 false false R49.htm 99940304 - Disclosure - REVENUE RECOGNITION - Additional information (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails REVENUE RECOGNITION - Additional information (Details) Details 49 false false R50.htm 99940401 - Disclosure - INVENTORIES (Details) Sheet http://www.cadre-holdings.com/role/DisclosureInventoriesDetails INVENTORIES (Details) Details http://www.cadre-holdings.com/role/DisclosureInventoriesTables 50 false false R51.htm 99940501 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) Details 51 false false R52.htm 99940502 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) Details 52 false false R53.htm 99940503 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) Details 53 false false R54.htm 99940504 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) Details 54 false false R55.htm 99940505 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) Details 55 false false R56.htm 99940601 - Disclosure - DEBT - Schedule of company's debt (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails DEBT - Schedule of company's debt (Details) Details 56 false false R57.htm 99940602 - Disclosure - DEBT - Summary of aggregate principal payment of long-term debt (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails DEBT - Summary of aggregate principal payment of long-term debt (Details) Details 57 false false R58.htm 99940603 - Disclosure - DEBT - 2024 Credit Agreement (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails DEBT - 2024 Credit Agreement (Details) Details 58 false false R59.htm 99940604 - Disclosure - DEBT - Canadian Credit Facility (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails DEBT - Canadian Credit Facility (Details) Details 59 false false R60.htm 99940701 - Disclosure - DERIVATIVE INSTRUMENTS - Schedule of Interest Rate Swaps (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails DERIVATIVE INSTRUMENTS - Schedule of Interest Rate Swaps (Details) Details 60 false false R61.htm 99940702 - Disclosure - DERIVATIVE INSTRUMENTS -Schedule of Fair Value Swap Agreement (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails DERIVATIVE INSTRUMENTS -Schedule of Fair Value Swap Agreement (Details) Details 61 false false R62.htm 99940703 - Disclosure - DERIVATIVE INSTRUMENTS - Cash Flow Hedges (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails DERIVATIVE INSTRUMENTS - Cash Flow Hedges (Details) Details 62 false false R63.htm 99940901 - Disclosure - INCOME TAXES (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDetails INCOME TAXES (Details) Details http://www.cadre-holdings.com/role/DisclosureIncomeTaxes 63 false false R64.htm 99941001 - Disclosure - LEASES - Schedule of operating assets and liabilities (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails LEASES - Schedule of operating assets and liabilities (Details) Details 64 false false R65.htm 99941002 - Disclosure - LEASES - Components of lease expense (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails LEASES - Components of lease expense (Details) Details 65 false false R66.htm 99941003 - Disclosure - LEASES - Weighted average remaining lease term and discount rate (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails LEASES - Weighted average remaining lease term and discount rate (Details) Details 66 false false R67.htm 99941004 - Disclosure - LEASES - Future minimum lease payments under operating leases (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails LEASES - Future minimum lease payments under operating leases (Details) Details 67 false false R68.htm 99941005 - Disclosure - LEASES - Supplemental cash flow information related to leases (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails LEASES - Supplemental cash flow information related to leases (Details) Details 68 false false R69.htm 99941101 - Disclosure - RELATED PARTY TRANSACTIONS (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails RELATED PARTY TRANSACTIONS (Details) Details http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions 69 false false R70.htm 99941201 - Disclosure - SEGMENT DATA - Other (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSegmentDataOtherDetails SEGMENT DATA - Other (Details) Details 70 false false R71.htm 99941202 - Disclosure - SEGMENT DATA - Reconciliation (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails SEGMENT DATA - Reconciliation (Details) Details 71 false false R72.htm 99941301 - Disclosure - SUBSEQUENT EVENTS (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails SUBSEQUENT EVENTS (Details) Details http://www.cadre-holdings.com/role/DisclosureSubsequentEvents 72 false false All Reports Book All Reports cdre-20250331.xsd cdre-20250331_cal.xml cdre-20250331_def.xml cdre-20250331_lab.xml cdre-20250331_pre.xml cdre-20250331x10q.htm http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 91 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "cdre-20250331x10q.htm": { "nsprefix": "cdre", "nsuri": "http://www.cadre-holdings.com/20250331", "dts": { "schema": { "local": [ "cdre-20250331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/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/2023/calculation-1.1.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "cdre-20250331_cal.xml" ] }, "definitionLink": { "local": [ "cdre-20250331_def.xml" ] }, "labelLink": { "local": [ "cdre-20250331_lab.xml" ] }, "presentationLink": { "local": [ "cdre-20250331_pre.xml" ] }, "inline": { "local": [ "cdre-20250331x10q.htm" ] } }, "keyStandard": 279, "keyCustom": 38, "axisStandard": 23, "axisCustom": 0, "memberStandard": 32, "memberCustom": 30, "hidden": { "total": 24, "http://fasb.org/us-gaap/2024": 19, "http://xbrl.sec.gov/dei/2024": 5 }, "contextCount": 155, "entityCount": 1, "segmentCount": 63, "elementCount": 609, "unitCount": 7, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 629, "http://xbrl.sec.gov/dei/2024": 30, "http://xbrl.sec.gov/ecd/2024": 4 }, "report": { "R1": { "role": "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation", "longName": "995200090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestments", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestments", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "longName": "995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R5": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical", "longName": "995200205 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity", "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_juM_ygqd0UKqHdhvcGNsmA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_juM_ygqd0UKqHdhvcGNsmA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquityParenthetical", "longName": "995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_rfRBOPYSukK4msIzcRUtgQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_rfRBOPYSukK4msIzcRUtgQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies", "longName": "995210101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitions", "longName": "995210201 - Disclosure - ACQUISITIONS", "shortName": "ACQUISITIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognition", "longName": "995210301 - Disclosure - REVENUE RECOGNITION", "shortName": "REVENUE RECOGNITION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.cadre-holdings.com/role/DisclosureInventories", "longName": "995210401 - Disclosure - INVENTORIES", "shortName": "INVENTORIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets", "longName": "995210501 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.cadre-holdings.com/role/DisclosureDebt", "longName": "995210601 - Disclosure - DEBT", "shortName": "DEBT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.cadre-holdings.com/role/DisclosureDerivativeInstruments", "longName": "995210701 - Disclosure - DERIVATIVE INSTRUMENTS", "shortName": "DERIVATIVE INSTRUMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingencies", "longName": "995210801 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxes", "longName": "995210901 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.cadre-holdings.com/role/DisclosureLeases", "longName": "995211001 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions", "longName": "995211101 - Disclosure - RELATED PARTY TRANSACTIONS", "shortName": "RELATED PARTY TRANSACTIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentData", "longName": "995211201 - Disclosure - SEGMENT DATA", "shortName": "SEGMENT DATA", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.cadre-holdings.com/role/DisclosureSubsequentEvents", "longName": "995211301 - Disclosure - SUBSEQUENT EVENTS", "shortName": "SUBSEQUENT EVENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R22": { "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": "22", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": null }, "R23": { "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": "23", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies", "longName": "99920102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables", "longName": "99930103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueMeasurementPolicyPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueMeasurementPolicyPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "longName": "99930203 - Disclosure - ACQUISITIONS (Tables)", "shortName": "ACQUISITIONS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_dev58tV_y0W6uNqXEyrgTg", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_dev58tV_y0W6uNqXEyrgTg", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionTables", "longName": "99930303 - Disclosure - REVENUE RECOGNITION (Tables)", "shortName": "REVENUE RECOGNITION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.cadre-holdings.com/role/DisclosureInventoriesTables", "longName": "99930403 - Disclosure - INVENTORIES (Tables)", "shortName": "INVENTORIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables", "longName": "99930503 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtTables", "longName": "99930603 - Disclosure - DEBT (Tables)", "shortName": "DEBT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsTables", "longName": "99930703 - Disclosure - DERIVATIVE INSTRUMENTS (Tables)", "shortName": "DERIVATIVE INSTRUMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:ScheduleOfInterestRateSwapsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:ScheduleOfInterestRateSwapsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesTables", "longName": "99931003 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentDataTables", "longName": "99931203 - Disclosure - SEGMENT DATA (Tables)", "shortName": "SEGMENT DATA (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "longName": "99940101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:NumberOfManufacturingPlants", "unitRef": "Unit_Standard_item_NHb8Uyc9Oke29ULna-1XXg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:NumberOfManufacturingPlants", "unitRef": "Unit_Standard_item_NHb8Uyc9Oke29ULna-1XXg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails", "longName": "99940102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Secondary Offering (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Secondary Offering (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "Duration_3_19_2024_To_3_19_2024_us-gaap_SubsidiarySaleOfStockAxis_cdre_SecondaryOfferingMember_kdHDEjppdUaDyTPk2kdeig", "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues", "unitRef": "Unit_Standard_shares_vEWBU_FlVkiioHpA5MDmhQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "cdre:SecondaryOfferingPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_3_19_2024_To_3_19_2024_us-gaap_SubsidiarySaleOfStockAxis_cdre_SecondaryOfferingMember_kdHDEjppdUaDyTPk2kdeig", "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues", "unitRef": "Unit_Standard_shares_vEWBU_FlVkiioHpA5MDmhQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "cdre:SecondaryOfferingPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails", "longName": "99940103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Assets and liabilities measured at fair value on a recurring basis (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Assets and liabilities measured at fair value on a recurring basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "p", "us-gaap:FairValueMeasurementPolicyPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "p", "us-gaap:FairValueMeasurementPolicyPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails", "longName": "99940104 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "As_Of_12_31_2024_xvyjrLjiK0ip7eWRweGMzA", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:StandardProductWarrantyPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2024_xvyjrLjiK0ip7eWRweGMzA", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:StandardProductWarrantyPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "longName": "99940105 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "longName": "99940201 - Disclosure - ACQUISITIONS - Summary - ICOR (Details)", "shortName": "ACQUISITIONS - Summary - ICOR (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_8kLr7aK4ZkiAda1U0iUtyw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_9_2024_To_1_9_2024_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_F9nfdY8qv0ibz18Go4Vlxw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R40": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "longName": "99940202 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - ICOR (Details)", "shortName": "ACQUISITIONS - Purchase Price Consideration and Fair Value - ICOR (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_1_9_2024_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_zgrO6lfFpEaRHNXlRg2E_Q", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R41": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "longName": "99940203 - Disclosure - ACQUISITIONS - Intangible Assets and Contingent Consideration - ICOR (Details)", "shortName": "ACQUISITIONS - Intangible Assets and Contingent Consideration - ICOR (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "Duration_1_9_2024_To_1_9_2024_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_F9nfdY8qv0ibz18Go4Vlxw", "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_9_2024_To_1_9_2024_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_F9nfdY8qv0ibz18Go4Vlxw", "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "longName": "99940204 - Disclosure - ACQUISITIONS - Changes in the contingent consideration liability - ICOR (Details)", "shortName": "ACQUISITIONS - Changes in the contingent consideration liability - ICOR (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_12_31_2024_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_fp6T_pUSVU-TZPCao5RxXA", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationLiabilityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_BusinessAcquisitionAxis_cdre_IcorTechnologyIncMember_dev58tV_y0W6uNqXEyrgTg", "name": "cdre:BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseFromFairValueAdjustment", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationLiabilityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R43": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "longName": "99940205 - Disclosure - ACQUISITIONS - Summary - Alpha Safety (Details)", "shortName": "ACQUISITIONS - Summary - Alpha Safety (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_8kLr7aK4ZkiAda1U0iUtyw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_2_29_2024_us-gaap_BusinessAcquisitionAxis_cdre_AlphaSafetyIntermediateLlcMember_new7Va_CvkSP6JLMGRWpkw", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R44": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "longName": "99940206 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Alpha Safety (Details)", "shortName": "ACQUISITIONS - Purchase Price Consideration and Fair Value - Alpha Safety (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_8kLr7aK4ZkiAda1U0iUtyw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_2_29_2024_us-gaap_BusinessAcquisitionAxis_cdre_AlphaSafetyIntermediateLlcMember_new7Va_CvkSP6JLMGRWpkw", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R45": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "longName": "99940207 - Disclosure - ACQUISITIONS - Intangible Assets - Alpha Safety (Details)", "shortName": "ACQUISITIONS - Intangible Assets - Alpha Safety (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "Duration_2_29_2024_To_2_29_2024_us-gaap_BusinessAcquisitionAxis_cdre_AlphaSafetyIntermediateLlcMember_AosF5F-2s0aHof2F8FHecQ", "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_29_2024_To_2_29_2024_us-gaap_BusinessAcquisitionAxis_cdre_AlphaSafetyIntermediateLlcMember_AosF5F-2s0aHof2F8FHecQ", "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails", "longName": "99940301 - Disclosure - REVENUE RECOGNITION - Net sales by channel and geography (Details)", "shortName": "REVENUE RECOGNITION - Net sales by channel and geography (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_ContractWithCustomerSalesChannelAxis_cdre_UsstateAndLocalAgenciesMember_dGTOxvMm4UWPUOOHKgRBhw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R47": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "longName": "99940302 - Disclosure - REVENUE RECOGNITION - Includes all Distribution sales (Details)", "shortName": "REVENUE RECOGNITION - Includes all Distribution sales (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_US__m0cO78SnkShuJhhw3Jy7Q", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R48": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractAssetsAndLiabilitiesDetails", "longName": "99940303 - Disclosure - REVENUE RECOGNITION - Contract Assets and Liabilities (Details)", "shortName": "REVENUE RECOGNITION - Contract Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails", "longName": "99940304 - Disclosure - REVENUE RECOGNITION - Additional information (Details)", "shortName": "REVENUE RECOGNITION - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails", "longName": "99940401 - Disclosure - INVENTORIES (Details)", "shortName": "INVENTORIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:InventoryFinishedGoodsAndWorkInProcessNetOfReserves", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:InventoryFinishedGoodsAndWorkInProcessNetOfReserves", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "longName": "99940501 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_12_31_2024_xvyjrLjiK0ip7eWRweGMzA", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R52": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails", "longName": "99940502 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:GoodwillGross", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:GoodwillGross", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails", "longName": "99940503 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails", "longName": "99940504 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails", "longName": "99940505 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails", "longName": "99940601 - Disclosure - DEBT - Schedule of company's debt (Details)", "shortName": "DEBT - Schedule of company's debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:LoansPayableToBankCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:LoansPayableToBankCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails", "longName": "99940602 - Disclosure - DEBT - Summary of aggregate principal payment of long-term debt (Details)", "shortName": "DEBT - Summary of aggregate principal payment of long-term debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "longName": "99940603 - Disclosure - DEBT - 2024 Credit Agreement (Details)", "shortName": "DEBT - 2024 Credit Agreement (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "Duration_12_20_2024_To_12_20_2024_srt_StatementScenarioAxis_cdre_EachQuarterStartingWithQuarterEndedDecember312024Member_7dSK98Q8okm6XV-wos3CeQ", "name": "cdre:DebtInstrumentFixedChargeCoverageRatioThreshold", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_20_2024_To_12_20_2024_srt_StatementScenarioAxis_cdre_EachQuarterStartingWithQuarterEndedDecember312024Member_7dSK98Q8okm6XV-wos3CeQ", "name": "cdre:DebtInstrumentFixedChargeCoverageRatioThreshold", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "longName": "99940604 - Disclosure - DEBT - Canadian Credit Facility (Details)", "shortName": "DEBT - Canadian Credit Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_10_14_2021_To_10_14_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_cdre_CanadianCreditFacilityMember_gdb9sWNeSkq-5StWSWjzug", "name": "us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_14_2021_To_10_14_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_cdre_CanadianCreditFacilityMember_gdb9sWNeSkq-5StWSWjzug", "name": "us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails", "longName": "99940701 - Disclosure - DERIVATIVE INSTRUMENTS - Schedule of Interest Rate Swaps (Details)", "shortName": "DERIVATIVE INSTRUMENTS - Schedule of Interest Rate Swaps (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_3_31_2025_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_MUdhYcsPaUiXU1eUORGycw", "name": "us-gaap:DerivativeVariableInterestRate", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_MUdhYcsPaUiXU1eUORGycw", "name": "us-gaap:DerivativeVariableInterestRate", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "longName": "99940702 - Disclosure - DERIVATIVE INSTRUMENTS -Schedule of Fair Value Swap Agreement (Details)", "shortName": "DERIVATIVE INSTRUMENTS -Schedule of Fair Value Swap Agreement (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_MUdhYcsPaUiXU1eUORGycw", "name": "us-gaap:AociLossCashFlowHedgeCumulativeGainLossAfterTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R62": { "role": "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "longName": "99940703 - Disclosure - DERIVATIVE INSTRUMENTS - Cash Flow Hedges (Details)", "shortName": "DERIVATIVE INSTRUMENTS - Cash Flow Hedges (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_us-gaap_DerivativeInstrumentRiskAxis_cdre_CashFlowHedgesMember_1XmnZPmAlEyX8xfKDQZuGA", "name": "us-gaap:InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R63": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDetails", "longName": "99940901 - Disclosure - INCOME TAXES (Details)", "shortName": "INCOME TAXES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_9Nw02pACMEOaUuYDUo-1oA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "longName": "99941001 - Disclosure - LEASES - Schedule of operating assets and liabilities (Details)", "shortName": "LEASES - Schedule of operating assets and liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R65": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails", "longName": "99941002 - Disclosure - LEASES - Components of lease expense (Details)", "shortName": "LEASES - Components of lease expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:FixedOperatingLeaseCosts", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:FixedOperatingLeaseCosts", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails", "longName": "99941003 - Disclosure - LEASES - Weighted average remaining lease term and discount rate (Details)", "shortName": "LEASES - Weighted average remaining lease term and discount rate (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails", "longName": "99941004 - Disclosure - LEASES - Future minimum lease payments under operating leases (Details)", "shortName": "LEASES - Future minimum lease payments under operating leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2025_Y29zJfgcl0-dnrfxhnT6Sw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails", "longName": "99941005 - Disclosure - LEASES - Supplemental cash flow information related to leases (Details)", "shortName": "LEASES - Supplemental cash flow information related to leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "longName": "99941101 - Disclosure - RELATED PARTY TRANSACTIONS (Details)", "shortName": "RELATED PARTY TRANSACTIONS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:RelatedPartyTransactionRentExpense", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "cdre:RelatedPartyTransactionRentExpense", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentDataOtherDetails", "longName": "99941201 - Disclosure - SEGMENT DATA - Other (Details)", "shortName": "SEGMENT DATA - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_f87YQqpt_k-2AXDbMAljhA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_f87YQqpt_k-2AXDbMAljhA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true, "unique": true } }, "R71": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails", "longName": "99941202 - Disclosure - SEGMENT DATA - Reconciliation (Details)", "shortName": "SEGMENT DATA - Reconciliation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_b5PE3SZoMEeKPfZQ18okRg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2025_To_3_31_2025_srt_ConsolidationItemsAxis_us-gaap_MaterialReconcilingItemsMember_RngJIgClUkObYqKC4Lz4zw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } }, "R72": { "role": "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails", "longName": "99941301 - Disclosure - SUBSEQUENT EVENTS (Details)", "shortName": "SUBSEQUENT EVENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_8kLr7aK4ZkiAda1U0iUtyw", "name": "us-gaap:ProceedsFromLinesOfCredit", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2025_To_4_30_2025_us-gaap_BusinessAcquisitionAxis_cdre_CarrSGroupPlcEngineeringDivisionMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_hmi_NJdjUUaKF2X8veSJbg", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "Unit_Standard_USD_lYcmeWDlG0-xAkgLJv-YTA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20250331x10q.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "SIGNIFICANT ACCOUNTING POLICIES" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r76", "r783" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of $858 and $876, respectively", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r924" ] }, "cdre_AccrualsForTaxesPaidInConnectionWithEmployeeStockTransactions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "AccrualsForTaxesPaidInConnectionWithEmployeeStockTransactions", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Accruals for taxes paid in connection with employee stock transactions.", "label": "Accruals For Taxes Paid in Connection With Employee Stock Transactions", "terseLabel": "Accruals for taxes paid in connection with employee stock transactions" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Current", "terseLabel": "Income tax payable", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r79", "r128" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "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": [ "r79" ] }, "cdre_AccruedLiabilitiesCurrentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "AccruedLiabilitiesCurrentMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing accrued liabilities, current.", "label": "Accrued Liabilities, Current [Member]", "terseLabel": "Accrued liabilities" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "terseLabel": "Property and equipment, accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r42", "r153", "r586" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r20", "r21", "r98", "r161", "r582", "r613", "r614" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "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": [ "r3", "r13", "r21", "r471", "r474", "r523", "r609", "r610", "r900", "r901", "r902", "r912", "r913", "r914", "r916" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "terseLabel": "ACQUISITIONS", "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": [ "r290", "r291", "r292", "r294", "r729" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Average Useful Life", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r292", "r729" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r844" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital", "terseLabel": "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": [ "r90", "r783", "r1032" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-In Capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r624", "r912", "r913", "r914", "r916", "r965", "r1033" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r857" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r857" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r857" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r857" ] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedLabel": "Common stock withheld related to net share settlement of stock-based compensation", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r44", "r45", "r399" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table" } } }, "auth_ref": [ "r890" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r816", "r826", "r836", "r868" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r819", "r829", "r839", "r871" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Pension Adjustments Service Cost [Member]", "terseLabel": "Aggregate Pension Adjustments Service Cost" } } }, "auth_ref": [ "r891" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r857" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r864" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r820", "r830", "r840", "r864", "r872", "r876", "r884" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r882" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, allowance for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r162", "r266", "r270" ] }, "cdre_AlphaSafetyIntermediateLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "AlphaSafetyIntermediateLlcMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Alpha Safety Intermediate, LLC (\"Alpha Safety\").", "label": "Alpha Safety Intermediate, LLC [Member]", "terseLabel": "Alpha Safety" } } }, "auth_ref": [] }, "cdre_AmendedAndRestatedCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "AmendedAndRestatedCreditAgreementMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to amended and restated credit agreement.", "label": "Amended and Restated Credit Agreement [Member]", "terseLabel": "2024 credit agreement" } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Debt Issuance Costs and Discounts", "terseLabel": "Amortization of original issue discount and debt issue costs", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r358", "r756", "r757", "r908", "r983" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r8", "r289", "r296", "r752" ] }, "cdre_AmortizationOfInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "AmortizationOfInventory", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for inventory.", "label": "Amortization of Inventory", "terseLabel": "Amortization of inventory step-up" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive instruments excluded", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r226" ] }, "us-gaap_AociLossCashFlowHedgeCumulativeGainLossAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AociLossCashFlowHedgeCumulativeGainLossAfterTax", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "AOCI, Cash Flow Hedge, Cumulative Gain (Loss), after Tax", "terseLabel": "Cumulative gain, net of tax reflected in accumulated other comprehensive income (loss)", "verboseLabel": "Cumulative gain, net of tax, in accumulated other comprehensive income", "documentation": "Amount, after tax, of accumulated gain (loss) on derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r171" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r126", "r138", "r157", "r196", "r229", "r235", "r253", "r257", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r461", "r465", "r491", "r577", "r659", "r745", "r746", "r783", "r807", "r958", "r959", "r990" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r151", "r166", "r196", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r461", "r465", "r491", "r783", "r958", "r959", "r990" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r879" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r880" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r875" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r875" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r875" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r875" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r875" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r875" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r878" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r877" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r876" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r876" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Financial Position Location, Balance [Axis]", "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported." } } }, "auth_ref": [ "r309", "r1000", "r1001" ] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Financial Position Location, Balance [Domain]", "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported." } } }, "auth_ref": [ "r61", "r64", "r309", "r1000", "r1001" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BaseRateMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Base Rate [Member]", "terseLabel": "Base Rate", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "cdre_BasedOnFutureCumulativeNetSalesDuringThreeYearPeriodEndedJanuary92027Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "BasedOnFutureCumulativeNetSalesDuringThreeYearPeriodEndedJanuary92027Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining contingent consideration based on future cumulative net sales during the three year period ended January 9, 2027.", "label": "Based On Future Cumulative Net Sales During The Three Year Period Ended January 9, 2027 [Member]", "terseLabel": "Based on future cumulative net sales during the three year period ended January 9, 2027" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Nature of Operations and Basis of Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r294", "r453", "r769", "r770" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r46", "r48", "r290", "r291", "r292", "r293", "r294", "r453", "r769", "r770" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Line Items]", "terseLabel": "ACQUISITIONS", "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": [ "r453" ] }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Percentage acquired", "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination." } } }, "auth_ref": [ "r47" ] }, "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Goodwill, Expected Tax Deductible Amount", "terseLabel": "Goodwill, non-deductible for tax purposes", "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes." } } }, "auth_ref": [ "r55" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred", "terseLabel": "Business acquisition, consideration", "totalLabel": "Total consideration, net", "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": [ "r0", "r1", "r11" ] }, "us-gaap_BusinessCombinationConsiderationTransferredAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationConsiderationTransferredAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred [Abstract]", "terseLabel": "Total consideration, net of cash acquired:" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferredOther1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationConsiderationTransferredOther1", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails": { "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred, Other", "terseLabel": "Plus: Contingent consideration", "documentation": "Amount of tangible or intangible assets, including a business or subsidiary of the acquirer transferred by the entity to the former owners of the acquiree. Excludes cash." } } }, "auth_ref": [ "r12" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Remeasurement of contingent consideration", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r457", "r907" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability", "periodEndLabel": "Balance at the end", "periodStartLabel": "Balance in the beginning", "terseLabel": "Contingent consideration", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r54", "r122", "r456", "r483", "r484", "r485" ] }, "cdre_BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseFromFairValueAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseFromFairValueAdjustment", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in liability recognized arising from contingent consideration in a business combination from fair value adjustment.", "label": "Business Combination Contingent Consideration Liability, Increase (Decrease) From Fair Value Adjustment", "terseLabel": "Fair value adjustment" } } }, "auth_ref": [] }, "cdre_BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseFromForeignCurrencyTranslationAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseFromForeignCurrencyTranslationAdjustments", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in liability recognized arising from contingent consideration in a business combination from foreign currency translation adjustments.", "label": "Business Combination Contingent Consideration Liability, Increase (Decrease) From Foreign Currency Translation Adjustments", "terseLabel": "Foreign currency translation adjustments" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "xbrltype": "decimalItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "terseLabel": "Contingent consideration, measurement input", "documentation": "Value of input used to measure contingent consideration liability from business combination." } } }, "auth_ref": [ "r483", "r484", "r485" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitions" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "ACQUISITIONS", "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": [ "r120", "r454" ] }, "cdre_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of accrued liabilities assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Liabilities", "terseLabel": "Accrued liabilities" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets", "totalLabel": "Total assets acquired", "documentation": "Amount of assets acquired at the acquisition date." } } }, "auth_ref": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable", "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": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "terseLabel": "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": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "terseLabel": "Deferred tax liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date." } } }, "auth_ref": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Intangible assets", "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date." } } }, "auth_ref": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "terseLabel": "Inventories", "documentation": "The amount of inventory recognized as of the acquisition date." } } }, "auth_ref": [ "r49", "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "totalLabel": "Total liabilities assumed", "documentation": "Amount of liabilities assumed at the acquisition date." } } }, "auth_ref": [ "r50" ] }, "cdre_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNonCurrentLiabilitiesOperatingLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNonCurrentLiabilitiesOperatingLeaseLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of long-term operating lease liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Non Current Liabilities Operating Lease Liabilities", "terseLabel": "Long-term operating lease liabilities" } } }, "auth_ref": [] }, "cdre_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of Operating Lease Assets recognized as of the acquisition date.", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Assets", "terseLabel": "Operating lease assets" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property and equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r49", "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "totalLabel": "Net assets acquired", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r50" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]", "terseLabel": "Total purchase price consideration and amounts recognized for the assets acquired and liabilities assumed" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "ACQUISITIONS" } } }, "auth_ref": [] }, "cdre_CanadianCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "CanadianCreditFacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Canadian Credit Facility.", "label": "Canadian Credit Facility", "terseLabel": "Canadian Credit Facility" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Accruals and accounts payable for capital expenditures", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r30", "r31", "r32" ] }, "cdre_CarrSGroupPlcEngineeringDivisionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "CarrSGroupPlcEngineeringDivisionMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Carr's Engineering Limited and Carr's Engineering (US), Inc. (together the \"Engineering Division\"), each a subsidiary of Carr's Group plc.", "label": "Carr's Group PLC, Engineering Division [Member]", "terseLabel": "Carr's Group PLC, Engineering Division" } } }, "auth_ref": [] }, "us-gaap_CarryingReportedAmountFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CarryingReportedAmountFairValueDisclosureMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Reported Value Measurement [Member]", "terseLabel": "Carrying Amount", "documentation": "Measured as reported on the statement of financial position (balance sheet)." } } }, "auth_ref": [ "r72", "r73" ] }, "us-gaap_CashAcquiredFromAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAcquiredFromAcquisition", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails": { "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": -1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails": { "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails" ], "lang": { "en-us": { "role": { "label": "Cash Acquired from Acquisition", "negatedLabel": "Less: cash acquired", "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business)." } } }, "auth_ref": [ "r23" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Money market funds", "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r966", "r967" ] }, "us-gaap_CashCashEquivalentsAndShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsAndShortTermInvestments", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, and Short-Term Investments", "terseLabel": "Cash and cash equivalents", "documentation": "Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable." } } }, "auth_ref": [ "r899" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r28", "r111", "r193" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Change in cash and cash equivalents", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r2", "r111" ] }, "cdre_CashFlowHedgesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "CashFlowHedgesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract", "label": "Cash flow hedges [Member]", "terseLabel": "Cash Flow Hedges" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r855" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]", "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year" } } }, "auth_ref": [ "r852" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]", "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested" } } }, "auth_ref": [ "r850" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r856" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r856" ] }, "cdre_CommercialMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "CommercialMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to commercial.", "label": "Commercial", "terseLabel": "Commercial" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "verboseLabel": "Commitments and contingencies (Note 8)", "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": [ "r85", "r131", "r579", "r646" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "COMMITMENTS AND CONTINGENCIES." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND CONTINGENCIES", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r117", "r312", "r313", "r717", "r949", "r954" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Declared", "verboseLabel": "Dividend declared (in dollars per share)", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r119" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r795", "r796", "r797", "r799", "r800", "r801", "r804", "r912", "r913", "r916", "r965", "r1030", "r1033" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r89" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r89", "r647" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r89" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Balance at the end (in shares)", "periodStartLabel": "Balance at the beginning (in shares)", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r14", "r89", "r647", "r665", "r1033", "r1034" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock ($0.0001 par value, 190,000,000 shares authorized, 40,659,585 and 40,607,988 shares issued and outstanding as of March 31, 2025 and December 31, 2024, respectively)", "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": [ "r89", "r580", "r783" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r861" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r860" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r862" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r859" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income, net of tax", "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": [ "r22", "r176", "r178", "r182", "r573", "r592", "r593" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income:" } } }, "auth_ref": [] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r136", "r198", "r229", "r237", "r251", "r252", "r253", "r254", "r255", "r257", "r258", "r259", "r325", "r326", "r327", "r328", "r330", "r331", "r332", "r333", "r334", "r745", "r746", "r958", "r959" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r136", "r198", "r229", "r237", "r251", "r252", "r253", "r254", "r255", "r257", "r258", "r259", "r325", "r326", "r327", "r328", "r330", "r331", "r332", "r333", "r334", "r745", "r746", "r958", "r959" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r56", "r737" ] }, "cdre_ContingentConsiderationLiabilityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ContingentConsiderationLiabilityFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value portion of contingent consideration liability.", "label": "Contingent Consideration Liability, Fair Value Disclosure", "terseLabel": "Contingent consideration" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current", "terseLabel": "Contract assets", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r365", "r367", "r386" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities", "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": [ "r365", "r366", "r386" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized from amounts included in contract liabilities", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r387" ] }, "us-gaap_ContractWithCustomerSalesChannelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerSalesChannelAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Sales Channel [Axis]", "documentation": "Information by sales channel for delivery of good or service in contract with customer." } } }, "auth_ref": [ "r765", "r961" ] }, "us-gaap_ContractWithCustomerSalesChannelDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerSalesChannelDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Sales Channel [Domain]", "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary." } } }, "auth_ref": [ "r765", "r961" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of goods 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": [ "r101", "r102", "r539" ] }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfGoodsAndServicesSoldAmortization", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cost, Amortization", "terseLabel": "Amortization expense included in cost of goods sold", "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service." } } }, "auth_ref": [ "r903" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r324", "r956" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r324", "r956", "r957" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r53", "r939", "r940", "r941", "r942", "r944", "r945", "r947", "r948" ] }, "us-gaap_DebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Current", "totalLabel": "Total", "documentation": "Amount of debt and lease obligation, classified as current." } } }, "auth_ref": [ "r159" ] }, "us-gaap_DebtCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtCurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Current [Abstract]", "terseLabel": "Short-term debt:" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "DEBT" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "DEBT", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r118", "r195", "r304", "r305", "r306", "r307", "r308", "r323", "r324", "r336", "r342", "r343", "r344", "r345", "r346", "r347", "r352", "r359", "r360", "r361", "r504" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r17", "r78", "r79", "r127", "r130", "r198", "r337", "r338", "r339", "r340", "r341", "r343", "r348", "r349", "r350", "r351", "r353", "r354", "r355", "r356", "r357", "r358", "r753", "r754", "r755", "r756", "r757", "r781", "r909", "r950", "r951", "r952", "r982", "r984" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "verboseLabel": "Applicable margin (as a percent)", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Gross", "verboseLabel": "Outstanding borrowings", "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": [ "r17", "r130", "r362" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "terseLabel": "Face amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r337", "r504", "r505", "r754", "r755", "r781" ] }, "cdre_DebtInstrumentFixedChargeCoverageRatioThreshold": { "xbrltype": "pureItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DebtInstrumentFixedChargeCoverageRatioThreshold", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum fixed charge coverage ratio required by a loan security agreement debt covenant.", "label": "Debt Instrument, Fixed Charge Coverage Ratio Threshold", "terseLabel": "Minimum fixed charge coverage ratio" } } }, "auth_ref": [] }, "cdre_DebtInstrumentIncreaseInTotalNetLeverageRatioDueToMajorAcquisitions": { "xbrltype": "pureItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DebtInstrumentIncreaseInTotalNetLeverageRatioDueToMajorAcquisitions", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the increase in total net leverage ratio required by a loan security agreement debt covenant due to material acquisitions.", "label": "Debt Instrument, Increase In Total Net Leverage Ratio Due To Major Acquisitions", "terseLabel": "Increase in total net leverage ratio" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentMaturityDateRangeEnd1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentMaturityDateRangeEnd1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Maturity Date Range, End", "verboseLabel": "Debt instrument, end maturity date", "documentation": "Latest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r81" ] }, "us-gaap_DebtInstrumentMaturityDateRangeStart1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentMaturityDateRangeStart1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Maturity Date Range, Start", "terseLabel": "Debt instrument, start maturity date", "documentation": "Earliest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r81" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r17", "r198", "r337", "r338", "r339", "r340", "r341", "r343", "r348", "r349", "r350", "r351", "r353", "r354", "r355", "r356", "r357", "r358", "r753", "r754", "r755", "r756", "r757", "r781", "r909", "r950", "r951", "r952", "r982", "r984" ] }, "cdre_DebtInstrumentPercentageOfPeriodicPaymentToAggregatePrincipalAmount": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DebtInstrumentPercentageOfPeriodicPaymentToAggregatePrincipalAmount", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of periodic payment payable to the aggregate principal amount of debt instrument.", "label": "Debt Instrument, Percentage of Periodic Payment to The Aggregate Principal Amount", "terseLabel": "Aggregate principal amount (as a percent)" } } }, "auth_ref": [] }, "cdre_DebtInstrumentPercentageOfUpfrontFee": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DebtInstrumentPercentageOfUpfrontFee", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of Of upfront fee for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Percentage Of Upfront Fee", "terseLabel": "Upfront Fee" } } }, "auth_ref": [] }, "cdre_DebtInstrumentTotalNetLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DebtInstrumentTotalNetLeverageRatio", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the total net leverage ratio required by a loan security agreement debt covenant.", "label": "Debt Instrument, Total Net Leverage Ratio", "terseLabel": "Total net leverage ratio" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": "us-gaap_LongTermDebtNoncurrent", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net", "negatedLabel": "Unamortized debt discount and debt issuance costs", "documentation": "Amount of unamortized debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r348", "r363", "r503", "r504", "r505", "r754", "r755", "r781" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred 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": [ "r430", "r431" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred income taxes", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r113" ] }, "cdre_DeferredTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DeferredTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Tax Liabilities Net", "terseLabel": "Deferred tax liabilities" } } }, "auth_ref": [] }, "cdre_DelayedDrawTermLoanA1FacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DelayedDrawTermLoanA1FacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to delayed draw term loan A1 facility.", "label": "Delayed Draw Term Loan A1 Facility [Member]", "terseLabel": "DDTL A-1 facility" } } }, "auth_ref": [] }, "cdre_DelayedDrawTermLoanA2FacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DelayedDrawTermLoanA2FacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to delayed draw term loan A2 facility.", "label": "Delayed Draw Term Loan A2 Facility [Member]", "terseLabel": "DDTL A-2 facility" } } }, "auth_ref": [] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r8", "r229", "r240", "r257", "r745", "r746" ] }, "us-gaap_DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset." } } }, "auth_ref": [ "r467" ] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset", "terseLabel": "Derivative instruments", "verboseLabel": "Derivative asset", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r167", "r168", "r481", "r482", "r487", "r490", "r626", "r627", "r628", "r629", "r630", "r632", "r633", "r634", "r635", "r636", "r653", "r654", "r703", "r706", "r709", "r710", "r711", "r712", "r736", "r775", "r777", "r797", "r968", "r969", "r970", "r1031" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r634", "r636", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r660", "r661", "r662", "r663", "r677", "r678", "r679", "r680", "r683", "r684", "r685", "r686", "r703", "r704", "r709", "r711", "r795", "r797", "r971", "r972", "r973", "r974", "r975", "r976", "r977", "r978" ] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeFixedInterestRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Fixed Interest Rate", "terseLabel": "Fixed rate", "documentation": "Fixed interest rate related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r62", "r65", "r66", "r125", "r634", "r636", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r660", "r661", "r662", "r663", "r677", "r678", "r679", "r680", "r683", "r684", "r685", "r686", "r703", "r704", "r709", "r711", "r736", "r795", "r797", "r971", "r972", "r973", "r974", "r975", "r976", "r977", "r978" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "DERIVATIVE INSTRUMENTS" } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstruments" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "DERIVATIVE INSTRUMENTS", "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts." } } }, "auth_ref": [ "r124", "r469", "r476" ] }, "us-gaap_DerivativeLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilities", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability", "terseLabel": "Derivative instruments", "verboseLabel": "Derivative liability", "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r167", "r168", "r481", "r482", "r487", "r490", "r626", "r627", "r628", "r629", "r632", "r633", "r634", "r635", "r636", "r660", "r662", "r663", "r704", "r705", "r706", "r709", "r710", "r711", "r712", "r736", "r968", "r969", "r970", "r1031" ] }, "us-gaap_DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative liability." } } }, "auth_ref": [ "r467" ] }, "us-gaap_DerivativeLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative [Line Items]", "verboseLabel": "DERIVATIVE INSTRUMENTS", "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": [ "r476" ] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Notional Amount", "terseLabel": "Notional amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r962", "r963" ] }, "us-gaap_DerivativeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative [Table]", "documentation": "Disclosure of information about derivative instrument or group of derivative instruments, including, but not limited to, type of derivative instrument, risk being hedged, notional amount, hedge designation, related hedged item, inception date, and maturity date." } } }, "auth_ref": [ "r15", "r57", "r58", "r59", "r60", "r63", "r65", "r67", "r68", "r70", "r476" ] }, "us-gaap_DerivativeVariableInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeVariableInterestRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Variable Interest Rate", "terseLabel": "Variable rate", "documentation": "Variable interest rate in effect as of the balance sheet date related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativesFairValueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativesFairValueLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Derivatives, Fair Value [Line Items]", "verboseLabel": "DERIVATIVE INSTRUMENTS", "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_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue Recognition", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r385", "r759", "r760", "r761", "r762", "r763", "r764", "r765" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r385", "r759", "r760", "r761", "r762", "r763", "r764", "r765" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Summary of disaggregate net sales by channel and geography", "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": [ "r961" ] }, "us-gaap_DisclosureTextBlockAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureTextBlockAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES." } } }, "auth_ref": [] }, "cdre_DistributionServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "DistributionServicesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the Distribution segment.", "label": "Distribution Services [Member]", "terseLabel": "Distribution" } } }, "auth_ref": [] }, "us-gaap_Dividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Dividends", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends", "negatedLabel": "Dividends declared", "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock." } } }, "auth_ref": [ "r5", "r119" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r811" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r843" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]", "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year" } } }, "auth_ref": [ "r854" ] }, "cdre_EachQuarterStartingWithQuarterEndedDecember312024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "EachQuarterStartingWithQuarterEndedDecember312024Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to each quarter starting with the quarter ended December 31, 2024.", "label": "Each Quarter Starting With Quarter Ended December 31, 2024 [Member]", "terseLabel": "Each quarter starting with the quarter ended December 31, 2024" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Net income per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "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": [ "r183", "r204", "r205", "r206", "r207", "r208", "r209", "r214", "r217", "r223", "r224", "r225", "r228", "r451", "r459", "r478", "r479", "r574", "r594", "r738" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "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": [ "r183", "r204", "r205", "r206", "r207", "r208", "r209", "r217", "r223", "r224", "r225", "r228", "r451", "r459", "r478", "r479", "r574", "r594", "r738" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income per Share", "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements." } } }, "auth_ref": [ "r33", "r34", "r227" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share Reconciliation [Abstract]", "terseLabel": "Calculation of weighted average shares outstanding and net (loss) income per share" } } }, "auth_ref": [] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "terseLabel": "Effect of foreign exchange rates on cash and cash equivalents", "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; including, but not limited to, 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": [ "r981" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r433", "r772" ] }, "cdre_EmergingGrowthCompanyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "EmergingGrowthCompanyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to Emerging Growth Company.", "label": "Emerging Growth Company [Policy Text Block]", "terseLabel": "Emerging Growth Company" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r809" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r809" ] }, "dei_EntityExTransitionPeriod": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityExTransitionPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Ex Transition Period", "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards." } } }, "auth_ref": [ "r894" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Securities Act File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r809" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r893" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r809" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r809" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r809" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r809" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Footnote [Text Block]", "terseLabel": "Equity Awards Adjustments, Footnote" } } }, "auth_ref": [ "r848" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]", "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table" } } }, "auth_ref": [ "r889" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments [Member]", "terseLabel": "Equity Awards Adjustments" } } }, "auth_ref": [ "r889" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table" } } }, "auth_ref": [ "r889" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r14", "r148", "r179", "r180", "r181", "r199", "r200", "r201", "r203", "r208", "r210", "r212", "r230", "r268", "r269", "r302", "r364", "r441", "r442", "r448", "r449", "r450", "r452", "r458", "r459", "r470", "r471", "r472", "r473", "r474", "r475", "r477", "r496", "r497", "r498", "r499", "r500", "r501", "r506", "r508", "r523", "r591", "r609", "r610", "r611", "r624", "r690" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r858" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r816", "r826", "r836", "r868" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r813", "r823", "r833", "r865" ] }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EstimateOfFairValueFairValueDisclosureMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Estimate of Fair Value Measurement [Member]", "terseLabel": "Fair Value", "documentation": "Measured as an estimate of fair value." } } }, "auth_ref": [ "r350", "r490", "r754", "r755" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r864" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r481", "r482", "r487", "r775" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r481", "r482", "r487", "r775" ] }, "cdre_FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of transfers of assets and liabilities measured on a recurring between fair value measurement levels.", "label": "Fair Value Assets and Liabilities Transfers Between Fair Value Measurement Levels Amount", "terseLabel": "Transfers between fair value measurement levels, amount" } } }, "auth_ref": [] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r350", "r390", "r391", "r392", "r393", "r394", "r395", "r480", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r533", "r534", "r535", "r754", "r755", "r766", "r767", "r768", "r775", "r777" ] }, "us-gaap_FairValueByMeasurementBasisAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByMeasurementBasisAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Basis [Axis]", "documentation": "Information by measurement basis." } } }, "auth_ref": [ "r350", "r754", "r755" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r481", "r482", "r483", "r485", "r775", "r969", "r979" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Level 1", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r350", "r390", "r395", "r482", "r487", "r533", "r766", "r767", "r768", "r775" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level 2", "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": [ "r350", "r390", "r395", "r482", "r483", "r487", "r534", "r754", "r755", "r766", "r767", "r768", "r775" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level 3", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r350", "r390", "r391", "r392", "r393", "r394", "r395", "r482", "r483", "r484", "r485", "r487", "r535", "r754", "r755", "r766", "r767", "r768", "r775", "r777" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [ "r481", "r482", "r483", "r485", "r775", "r969", "r979" ] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value Measurements", "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r350", "r390", "r391", "r392", "r393", "r394", "r395", "r480", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r533", "r534", "r535", "r754", "r755", "r766", "r767", "r768", "r775", "r777" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring [Member]", "verboseLabel": "Recurring", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r775", "r966", "r967", "r968", "r969", "r970", "r979" ] }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "documentation": "Disclosure of information about location and fair value of derivative instrument and nonderivative instrument designated as hedging instrument." } } }, "auth_ref": [ "r61", "r63", "r69" ] }, "cdre_FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite Lived And Indefinite Lived Intangible Assets By Major Class [Line Items]", "terseLabel": "Goodwill and Other Intangible Assets" } } }, "auth_ref": [] }, "cdre_FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTable": { "xbrltype": "stringItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite Lived And Indefinite Lived Intangible Assets By Major Class [Table]" } } }, "auth_ref": [] }, "cdre_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Weighted Average 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_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangiblesSummaryOfIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Definite lived intangibles, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r155", "r275", "r295", "r752" ] }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "Disclosure of information about finite-lived intangible asset acquired in business combination." } } }, "auth_ref": [ "r41" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2026", "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": [ "r297", "r729", "r752" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "Remainder of 2025", "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": [ "r1039" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Summary of estimated amortization expense for definite lived intangible assets", "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2029", "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": [ "r297", "r729", "r752" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2028", "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": [ "r297", "r729", "r752" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2027", "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": [ "r297", "r729", "r752" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r288", "r290", "r291", "r292", "r294", "r295", "r299", "r300", "r540", "r541", "r729" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Estimated amortization expense for finite-lived intangible assets" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangiblesSummaryOfIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Definite lived intangibles, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r275", "r295", "r541", "r752" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r288", "r290", "r291", "r292", "r294", "r295", "r299", "r300", "r729" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangiblesSummaryOfIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Definite lived intangibles, Net", "totalLabel": "Total", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r540", "r945" ] }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNetAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net [Abstract]", "terseLabel": "Summary of intangible assets" } } }, "auth_ref": [] }, "us-gaap_FinitelivedIntangibleAssetsAcquired1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinitelivedIntangibleAssetsAcquired1", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Acquired", "terseLabel": "Gross", "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition." } } }, "auth_ref": [ "r290" ] }, "cdre_FixedOperatingLeaseCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "FixedOperatingLeaseCosts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of fixed operating lease costs.", "label": "Fixed Operating Lease Costs", "terseLabel": "Fixed operating lease costs" } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "negatedLabel": "Unrealized foreign exchange transaction (gain) loss", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r492", "r493", "r494", "r495", "r687" ] }, "us-gaap_ForeignExchangeForwardMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ForeignExchangeForwardMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails" ], "lang": { "en-us": { "role": { "label": "Foreign Exchange Forward [Member]", "terseLabel": "Forward contracts", "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate." } } }, "auth_ref": [ "r653", "r657", "r662", "r679", "r685", "r707", "r708", "r709", "r797" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r820", "r830", "r840", "r872" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r820", "r830", "r840", "r872" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r820", "r830", "r840", "r872" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r820", "r830", "r840", "r872" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r820", "r830", "r840", "r872" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]", "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year" } } }, "auth_ref": [ "r853" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 1.0 }, "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r154", "r276", "r572", "r746", "r751", "r776", "r783", "r928", "r935" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "GOODWILL AND OTHER INTANGIBLE ASSETS" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "GOODWILL AND OTHER INTANGIBLE ASSETS", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r926", "r938" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign currency translation adjustments", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r283" ] }, "us-gaap_GoodwillGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillGross", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Gross", "terseLabel": "Gross goodwill", "documentation": "Amount, before accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r278", "r285", "r751" ] }, "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillImpairedAccumulatedImpairmentLoss", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impaired, Accumulated Impairment Loss", "terseLabel": "Accumulated impairment losses", "documentation": "Amount of accumulated impairment loss for asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r278", "r285", "r751" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "terseLabel": "Goodwill", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r751" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Roll Forward]", "terseLabel": "Summary of changes in goodwill", "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_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r99", "r103", "r137", "r196", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r491", "r740", "r745", "r918", "r920", "r921", "r922", "r923", "r958" ] }, "cdre_IcorTechnologyInc.Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "IcorTechnologyInc.Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to ICOR Technology Inc. (\"ICOR\").", "label": "ICOR Technology Inc. [Member]", "terseLabel": "ICOR" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r100", "r133", "r137", "r575", "r588", "r740", "r745", "r918", "r920", "r921", "r922", "r923" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "INCOME TAXES", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r197", "r429", "r433", "r434", "r435", "r436", "r437", "r438", "r443", "r445", "r446", "r447", "r619", "r772" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Provision for income taxes", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r139", "r146", "r211", "r212", "r229", "r243", "r257", "r432", "r433", "r444", "r595", "r772" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes, net", "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r29", "r192", "r439", "r440" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable and Other Operating Liabilities", "terseLabel": "Accounts payable and other liabilities", "documentation": "Amount of increase (decrease) in obligations incurred but not paid, and operating obligations classified as other." } } }, "auth_ref": [ "r907" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "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": [ "r7" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities, net of impact of acquisitions:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedTerseLabel": "Prepaid expenses and other assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Stock-based awards", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r218", "r219", "r220", "r225", "r400" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets [Axis]", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r288", "r293", "r298", "r752" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)", "terseLabel": "Indefinite lived intangibles", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r275", "r298", "r752" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. 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 the company." } } }, "auth_ref": [ "r288", "r293", "r298", "r752" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r820", "r830", "r840", "r864", "r872", "r876", "r884" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r882" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r812", "r888" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r812", "r888" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r812", "r888" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "verboseLabel": "Indefinite lived intangibles, Net", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r288", "r945", "r946" ] }, "us-gaap_InterestExpenseNonoperating": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestExpenseNonoperating", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Interest Expense, Nonoperating", "negatedLabel": "Interest expense", "documentation": "Amount of interest expense classified as nonoperating." } } }, "auth_ref": [ "r239", "r904" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r187", "r190", "r191" ] }, "us-gaap_InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Interest Rate Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months, Net", "terseLabel": "Amount reclassified from AOCI into interest expense within next twelve months", "documentation": "The estimated net amount of unrealized gains or losses on interest rate cash flow hedges as of the balance sheet date expected to be reclassified to earnings within the next twelve months." } } }, "auth_ref": [ "r71" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestRateSwapMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Interest Rate Swap [Member]", "terseLabel": "Interest Rate Swaps", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r731", "r802", "r803" ] }, "cdre_InterestRateSwapOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "InterestRateSwapOneMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap, One", "terseLabel": "Interest Rate Swap, One" } } }, "auth_ref": [] }, "cdre_InterestRateSwapThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "InterestRateSwapThreeMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap, Three [Member]", "terseLabel": "Interest Rate Swap, Three" } } }, "auth_ref": [] }, "cdre_InterestRateSwapTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "InterestRateSwapTwoMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap, Two", "terseLabel": "Interest Rate Swap, Two" } } }, "auth_ref": [] }, "cdre_InternationalMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "InternationalMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to International.", "label": "International", "terseLabel": "International" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INVENTORIES" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventories" ], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Text Block]", "terseLabel": "INVENTORIES", "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": [ "r272" ] }, "us-gaap_InventoryFinishedGoodsAndWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryFinishedGoodsAndWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Finished Goods and Work in Process, Net of Reserves", "terseLabel": "Finished goods", "documentation": "The aggregated amount of merchandise or goods held by the entity and readily available for future sale plus items held by the entity which are partially complete or in the process of being readied for future sale. This amount is net of valuation reserves and adjustments." } } }, "auth_ref": [ "r116", "r898" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory, Net", "terseLabel": "Inventories", "totalLabel": "Total", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r163", "r733", "r783" ] }, "us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryRawMaterialsAndSuppliesNetOfReserves", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Raw Materials and Supplies, Net of Reserves", "terseLabel": "Raw materials and supplies", "documentation": "Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments." } } }, "auth_ref": [ "r116", "r898" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r116", "r735" ] }, "cdre_KandersCompanyIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "KandersCompanyIncMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information about Kanders & Company, Inc.", "label": "Kanders & Company, Inc", "terseLabel": "Kanders & Company, Inc" } } }, "auth_ref": [] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r515", "r782" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of operating leases", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r987" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "LEASES" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases", "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": [ "r513", "r522" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r513", "r522" ] }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "option to extend", "documentation": "Indicates (true false) whether lessee has option to extend operating lease." } } }, "auth_ref": [ "r514" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "terseLabel": "Summary of future minimum lease payments required under operating leases", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r988" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total future lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r520" ] }, "cdre_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Four", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2026", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r520" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2029", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r520" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r520" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2027", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r520" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Remainder of 2025", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r988" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Amount representing interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r520" ] }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Remaining Lease Term", "terseLabel": "Remaining contractual terms", "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r522", "r985" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Optional lease extension terms", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r986" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "LEASES", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r507" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LetterOfCreditMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Letter of Credit [Member]", "terseLabel": "Letter of credit", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Outstanding letters of credit", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r17", "r78", "r79", "r80", "r83", "r84", "r85", "r86", "r196", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r462", "r465", "r466", "r491", "r645", "r739", "r807", "r958", "r990", "r991" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities, mezzanine equity and shareholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r94", "r132", "r584", "r783", "r910", "r925", "r980" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities, Mezzanine Equity and Shareholders' Equity" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r80", "r152", "r196", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r462", "r465", "r466", "r491", "r783", "r958", "r990", "r991" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesFairValueDisclosureAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Line of Credit", "verboseLabel": "Amount outstanding", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r17", "r130", "r998" ] }, "cdre_LineOfCreditFacilityContingentIncreaseAggregateMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "LineOfCreditFacilityContingentIncreaseAggregateMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "The aggregate borrowing capacity under the credit facility, consisting of the maximum borrowing capacity plus the contingent increase, if any one or more of the existing banks or new banks agree to provide such increased commitment amount.", "label": "Line of Credit Facility Contingent Increase, Aggregate Maximum Borrowing Capacity", "terseLabel": "Aggregate of additional revolving term loan commitments" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Line Items]", "terseLabel": "Debt", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r324", "r909", "r956" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r77", "r82" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Available borrowing capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r77", "r82", "r324" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Table]", "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement." } } }, "auth_ref": [ "r77", "r82", "r324", "r909", "r956" ] }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Unused line fee (as a percent)", "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility." } } }, "auth_ref": [] }, "us-gaap_LoansPayableToBankCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LoansPayableToBankCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": "us-gaap_DebtCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Loans Payable to Bank, Current", "terseLabel": "Current portion of term loan", "documentation": "Carrying value as of the balance sheet date of current portion of long-term loans payable to bank due within one year or the operating cycle if longer." } } }, "auth_ref": [ "r78", "r641" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "cdre_LondonInterbankOfferedRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "LondonInterbankOfferedRateMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "LIBOR", "terseLabel": "LIBOR" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Current Maturities", "terseLabel": "Current portion of long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r158" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year One", "verboseLabel": "2026", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in 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": [ "r10", "r198", "r354" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year Four", "terseLabel": "2029", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in 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": [ "r10", "r198", "r354" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year Three", "terseLabel": "2028", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in 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": [ "r10", "r198", "r354" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year Two", "terseLabel": "2027", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r10", "r198", "r354" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Remainder of Fiscal Year", "terseLabel": "Remainder of 2025", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year." } } }, "auth_ref": [ "r911" ] }, "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price on total principal payments.", "label": "Long Term Debt Maturities Repayments Of Total Principal Payments", "totalLabel": "Total principal payments" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 }, "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt", "totalLabel": "Total long-term debt, net", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r160" ] }, "us-gaap_LongTermDebtNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtNoncurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Excluding Current Maturities [Abstract]", "terseLabel": "Long-term debt:" } } }, "auth_ref": [] }, "cdre_LongTermDebtNoncurrentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "LongTermDebtNoncurrentGross", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": "us-gaap_LongTermDebtNoncurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of the noncurrent portion of long-term debt.", "label": "Long-Term Debt, Noncurrent, Gross", "totalLabel": "Total long-term debt, gross" } } }, "auth_ref": [] }, "us-gaap_LongTermLoansFromBank": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermLoansFromBank", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": "cdre_LongTermDebtNoncurrentGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Loans Payable to Bank, Noncurrent", "terseLabel": "Term loan", "documentation": "Carrying value as of the balance sheet date of loans from a bank with maturities initially due after one year or beyond the operating cycle if longer, excluding current portion." } } }, "auth_ref": [ "r17", "r130", "r641" ] }, "us-gaap_MaterialReconcilingItemsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MaterialReconcilingItemsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting, Reconciling Item, Excluding Corporate Nonsegment [Member]", "terseLabel": "Reconciling Items", "documentation": "Items used in reconciling reportable segments' amounts to consolidated amount. Excludes corporate-level activity." } } }, "auth_ref": [ "r252", "r255", "r258", "r745", "r746" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "auth_ref": [ "r314", "r315", "r316", "r317", "r397", "r428", "r485", "r538", "r607", "r608", "r615", "r635", "r636", "r696", "r698", "r700", "r701", "r713", "r727", "r728", "r750", "r758", "r771", "r777", "r778", "r779", "r780", "r792", "r960", "r992", "r993", "r994", "r995", "r996", "r997" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r856" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r856" ] }, "us-gaap_MeasurementInputDiscountRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MeasurementInputDiscountRateMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Input, Discount Rate [Member]", "terseLabel": "Discount rate", "documentation": "Measurement input using interest rate to determine present value of future cash flows." } } }, "auth_ref": [ "r968", "r969", "r970" ] }, "us-gaap_MeasurementInputTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MeasurementInputTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Input Type [Axis]", "documentation": "Information by type of measurement input used to determine value of asset and liability." } } }, "auth_ref": [ "r483", "r484", "r485", "r777" ] }, "us-gaap_MeasurementInputTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MeasurementInputTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Input Type [Domain]", "documentation": "Measurement input used to determine value of asset and liability." } } }, "auth_ref": [ "r483", "r484", "r485", "r777" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "auth_ref": [ "r314", "r315", "r316", "r317", "r397", "r428", "r485", "r538", "r607", "r608", "r615", "r635", "r636", "r696", "r698", "r700", "r701", "r713", "r727", "r728", "r750", "r758", "r771", "r777", "r778", "r779", "r792", "r960", "r992", "r993", "r994", "r995", "r996", "r997" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r875" ] }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "terseLabel": "Changes in the Company's accrued warranties", "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_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r883" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r857" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash (used in) provided by financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r189" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash Flows From Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r189" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash Flows From Investing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r111", "r112", "r113" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash Flows From Operating Activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r104", "r113", "r134", "r150", "r174", "r177", "r181", "r196", "r202", "r204", "r205", "r206", "r207", "r208", "r211", "r212", "r221", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r451", "r459", "r479", "r491", "r590", "r667", "r688", "r689", "r805", "r958" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic", "verboseLabel": "Net income", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r185", "r204", "r205", "r206", "r207", "r214", "r215", "r222", "r225", "r459" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]", "terseLabel": "Numerator for basic and diluted earnings per share:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r856" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r820", "r830", "r840", "r864", "r872" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r847" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r846" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r864" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r883" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r883" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonUsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "Non-US [Member]", "terseLabel": "International", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r1035", "r1036", "r1037", "r1038" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental Disclosure of Non-Cash Investing and Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete agreements", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r52", "r939", "r940", "r941", "r942", "r944", "r945", "r947", "r948" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense)", "totalLabel": "Total other expense, net", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r106" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other expense" } } }, "auth_ref": [] }, "cdre_NumberOfManufacturingPlants": { "xbrltype": "integerItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "NumberOfManufacturingPlants", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of manufacturing plants.", "label": "Number of Manufacturing Plants", "terseLabel": "Number of manufacturing plants" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataOtherDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r741", "r749", "r919" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "totalLabel": "Total 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": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r137", "r740", "r918", "r920", "r921", "r922", "r923" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Total lease liabilities", "verboseLabel": "Present value of lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r510" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r510" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r511" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r510" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "verboseLabel": "Operating cash flows - operating leases", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r512", "r516" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r509" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating leases weighted average discount rate", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r519", "r782" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating leases weighted average remaining lease term (years):", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r518", "r782" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "terseLabel": "Operating segments", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r251", "r252", "r253", "r254", "r255", "r258", "r745", "r746" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Nature of Operations and Basis of Presentation" } } }, "auth_ref": [] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Current", "terseLabel": "Other current assets", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r165", "r783" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r156" ] }, "cdre_OtherAssetsNoncurrentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "OtherAssetsNoncurrentMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other assets, noncurrent.", "label": "Other Assets, Noncurrent [Member]", "terseLabel": "Other assets" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments, net of tax", "verboseLabel": "Foreign currency translation adjustments", "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, attributable to parent entity." } } }, "auth_ref": [ "r6", "r13", "r123" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments, income tax expense", "documentation": "Amount of tax expense (benefit), after 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, attributable to parent entity." } } }, "auth_ref": [ "r6", "r13", "r123" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "totalLabel": "Total unrealized (loss) gain on derivative instruments, net of tax", "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r169", "r171", "r591" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax", "terseLabel": "Unrealized holding (losses) gains on derivative instruments, net of tax", "verboseLabel": "Gain (loss) recognized in other comprehensive income (loss)", "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r169", "r171" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax", "terseLabel": "Unrealized holding gains (losses) on derivative instruments, income tax expense", "documentation": "Amount, before reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r172" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsCashFlowHedgesDetails", "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, after Tax", "negatedLabel": "Reclassification adjustments for gains included in net income, net of tax", "verboseLabel": "Amount reclassified from accumulated other comprehensive income in to earnings", "documentation": "Amount, after tax, of reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r171", "r173" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, Tax", "terseLabel": "Reclassification adjustments for gains included in net income, income tax expense", "documentation": "Amount of tax expense (benefit) for reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r172" ] }, "us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseAfterAdjustmentsAndTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseAfterAdjustmentsAndTaxParent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), after Adjustments and Tax, Parent", "terseLabel": "Change in fair value of derivative instruments", "documentation": "Amount, after tax and adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge, attributable to parent. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method." } } }, "auth_ref": [ "r170", "r468" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive (loss) income", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r6", "r13", "r123", "r175", "r178", "r208" ] }, "us-gaap_OtherCurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherCurrentAssetsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Other Current Assets [Member]", "terseLabel": "Other current assets", "documentation": "Primary financial statement caption encompassing other current assets." } } }, "auth_ref": [ "r61", "r69" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r84" ] }, "cdre_OtherLiabilitiesNoncurrentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "OtherLiabilitiesNoncurrentMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other liabilities, noncurrent.", "label": "Other Liabilities, Noncurrent [Member]", "terseLabel": "Other liabilities" } } }, "auth_ref": [] }, "us-gaap_OtherLongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": "us-gaap_DebtCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Other Long-Term Debt, Current", "terseLabel": "Current portion of other", "documentation": "Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer." } } }, "auth_ref": [ "r78", "r79", "r644" ] }, "us-gaap_OtherLongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails": { "parentTag": "cdre_LongTermDebtNoncurrentGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Other Long-Term Debt, Noncurrent", "terseLabel": "Other", "documentation": "Amount of long-term debt classified as other, payable after one year or the operating cycle, if longer." } } }, "auth_ref": [ "r17", "r644" ] }, "cdre_OtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "OtherMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to other sales channel.", "label": "Other", "terseLabel": "Other" } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "verboseLabel": "Other income (expense), net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r107" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other loss (gain)", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r856" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r818", "r828", "r838", "r870" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r821", "r831", "r841", "r873" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r821", "r831", "r841", "r873" ] }, "us-gaap_OverAllotmentOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OverAllotmentOptionMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "label": "Over-Allotment Option [Member]", "terseLabel": "Over-Allotment Option", "documentation": "Right given to the underwriter to sell additional shares over the initial allotment." } } }, "auth_ref": [] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r845" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Issuance Costs", "negatedLabel": "Payments for debt issuance costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r27" ] }, "cdre_PaymentsOfDeferredIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "PaymentsOfDeferredIssuanceCosts", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the deferred issuance of an equity security.", "label": "Payments of Deferred Issuance Costs", "negatedLabel": "Deferred offering costs" } } }, "auth_ref": [] }, "us-gaap_PaymentsOfDividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsOfDividends", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Dividends", "negatedTerseLabel": "Dividends distributed", "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests." } } }, "auth_ref": [ "r109" ] }, "us-gaap_PaymentsOfStockIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsOfStockIssuanceCosts", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "label": "Payments of Stock Issuance Costs", "terseLabel": "Underwriter discounts and commissions, fees and expenses", "verboseLabel": "Direct offering costs", "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security." } } }, "auth_ref": [ "r26" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedLabel": "Taxes paid in connection with employee stock transactions", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r186" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails": { "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0, "order": 1.0 }, "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails": { "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Cash paid", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r24", "r455" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Business acquisitions, net of cash acquired", "terseLabel": "Total consideration, net", "totalLabel": "Total consideration, net", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r24" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r108" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r855" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r855" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r847" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r864" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r857" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r846" ] }, "cdre_PercentageOfCommitmentFee": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "PercentageOfCommitmentFee", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of commitment fee for funds borrowed, under the debt agreement.", "label": "Percentage of Commitment Fee", "terseLabel": "Commitment Fee" } } }, "auth_ref": [] }, "cdre_PeriodAfterQuarterEndedMarch312026Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "PeriodAfterQuarterEndedMarch312026Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Period after the quarter ended March 31, 2026.", "label": "Period After The Quarter Ended March 31, 2026 [Member]", "terseLabel": "Period after the quarter ended Match 31, 2026" } } }, "auth_ref": [] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Prior Service Cost [Member]", "terseLabel": "Pension Adjustments Prior Service Cost" } } }, "auth_ref": [ "r848" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Service Cost [Member]", "terseLabel": "Pension Adjustments Service Cost" } } }, "auth_ref": [ "r892" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Benefits Adjustments, Footnote [Text Block]", "terseLabel": "Pension Benefits Adjustments, Footnote" } } }, "auth_ref": [ "r847" ] }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PortionAtFairValueFairValueDisclosureMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Portion at Fair Value Measurement [Member]", "documentation": "Measured at fair value for financial reporting purposes." } } }, "auth_ref": [ "r489" ] }, "us-gaap_PrepaidExpenseCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense, Current", "terseLabel": "Prepaid expenses", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r164", "r273", "r274", "r734" ] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from secondary offering, net of underwriter discounts", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r4" ] }, "cdre_ProceedsFromIssuanceOfCommonStockNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ProceedsFromIssuanceOfCommonStockNet", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "documentation": "The net cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock, Net", "terseLabel": "Net proceeds from the sale of shares" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromIssuanceOfDebt", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Debt", "terseLabel": "Proceeds from term loans", "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt." } } }, "auth_ref": [ "r905" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Proceeds from revolving credit facilities", "verboseLabel": "Proceeds from credit facility", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r25", "r909" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Ending accrued warranty expense", "periodStartLabel": "Beginning accrued warranty expense", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r129", "r318", "r320", "r322" ] }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProductWarrantyAccrualWarrantiesIssued", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision for current period sales", "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued." } } }, "auth_ref": [ "r321" ] }, "cdre_ProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ProductsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the Product segment.", "label": "Product.", "terseLabel": "Product" } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r150", "r174", "r177", "r188", "r196", "r202", "r208", "r211", "r212", "r267", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r334", "r335", "r451", "r459", "r460", "r463", "r464", "r479", "r491", "r575", "r589", "r623", "r667", "r688", "r689", "r773", "r774", "r806", "r902", "r958" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net of accumulated depreciation and amortization of $56,244 and $54,384, respectively", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r521", "r576", "r587", "r783" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "(Recoveries from) provision for losses on accounts receivable", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r184", "r271" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r845" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r845" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r314", "r315", "r316", "r317", "r389", "r397", "r423", "r424", "r425", "r428", "r485", "r536", "r537", "r538", "r607", "r608", "r615", "r635", "r636", "r696", "r698", "r700", "r701", "r713", "r727", "r728", "r750", "r758", "r771", "r777", "r778", "r779", "r780", "r792", "r797", "r953", "r960", "r969", "r993", "r994", "r995", "r996", "r997" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r314", "r315", "r316", "r317", "r389", "r397", "r423", "r424", "r425", "r428", "r485", "r536", "r537", "r538", "r607", "r608", "r615", "r635", "r636", "r696", "r698", "r700", "r701", "r713", "r727", "r728", "r750", "r758", "r771", "r777", "r778", "r779", "r780", "r792", "r797", "r953", "r960", "r969", "r993", "r994", "r995", "r996", "r997" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r813", "r823", "r833", "r865" ] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related and Nonrelated Parties [Domain]", "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest." } } }, "auth_ref": [ "r265", "r396", "r527", "r528", "r578", "r585", "r638", "r639", "r640", "r642", "r643", "r664", "r666", "r695" ] }, "cdre_RelatedPartyExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "RelatedPartyExpense", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Related party expenses.", "label": "Related Party Expense", "terseLabel": "Related party expense" } } }, "auth_ref": [] }, "cdre_RelatedPartyTransactionFeesPaidForServicesRelatedToAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "RelatedPartyTransactionFeesPaidForServicesRelatedToAcquisition", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "The fees paid for services related to the acquisition, in a related party transaction.", "label": "Related Party Transaction, Fees Paid For Services Related To Acquisition", "terseLabel": "Paid to related party" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transactions", "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": [ "r265", "r670", "r671", "r674" ] }, "cdre_RelatedPartyTransactionRentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "RelatedPartyTransactionRentExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "Rent expense, in a related party transaction.", "label": "Related Party Transaction, Rent Expense", "terseLabel": "Rent expense" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsAbstract", "lang": { "en-us": { "role": { "label": "RELATED PARTY TRANSACTIONS" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related and Nonrelated Parties [Axis]", "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest." } } }, "auth_ref": [ "r265", "r396", "r527", "r528", "r578", "r585", "r638", "r639", "r640", "r642", "r643", "r664", "r666", "r695", "r989" ] }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "RELATED PARTY TRANSACTIONS", "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r524", "r525", "r526", "r528", "r529", "r620", "r621", "r622", "r672", "r673", "r674", "r693", "r694" ] }, "us-gaap_RepaymentsOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfDebt", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Debt", "negatedLabel": "Principal payments on term loans", "documentation": "Amount of cash outflow for short-term and long-term debt. Excludes payment of lease obligation." } } }, "auth_ref": [ "r906" ] }, "cdre_RepaymentsOfInsurancePremiumFinancing": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "RepaymentsOfInsurancePremiumFinancing", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents the cash outflow from insurance premium financing.", "label": "Repayments of Insurance Premium Financing", "negatedLabel": "Principal payments on insurance premium financing" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Lines of Credit", "negatedLabel": "Principal payments on revolving credit facilities", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r110", "r909" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r814", "r824", "r834", "r866" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r815", "r825", "r835", "r867" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r822", "r832", "r842", "r874" ] }, "us-gaap_RestructuringCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestructuringCosts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Restructuring Costs", "terseLabel": "Restructuring and transaction costs", "documentation": "Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r8" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r91", "r119", "r583", "r612", "r614", "r618", "r648", "r783" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Earnings/(Deficit)", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r148", "r199", "r200", "r201", "r203", "r208", "r210", "r212", "r268", "r269", "r302", "r441", "r442", "r448", "r449", "r450", "r452", "r458", "r459", "r470", "r472", "r473", "r475", "r477", "r506", "r508", "r609", "r611", "r624", "r1033" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "REVENUE RECOGNITION" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Net sales", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r135", "r136", "r229", "r236", "r237", "r251", "r257", "r260", "r262", "r264", "r384", "r385", "r539" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r147", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r730" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognition" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUE RECOGNITION", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r147", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r388" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligations", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r144" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue Recognition", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Expected timing of satisfaction", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r145" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r145" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Percentage of remaining performance obligations expect to recognize", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r897" ] }, "cdre_RevolvingCreditFacilityDelayedDrawTermLoanA1FacilityAndDelayedDrawTermLoanA2FacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "RevolvingCreditFacilityDelayedDrawTermLoanA1FacilityAndDelayedDrawTermLoanA2FacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to revolving credit facility, delayed draw term loan A1 facility and delayed draw term loan facility A2.", "label": "Revolving Credit Facility, Delayed Draw Term Loan A1 Facility and Delayed Draw Term Loan A2 Facility [Member]", "terseLabel": "Revolving Credit Facility, DDTL A-1 Facility & DDTL A-2 Facility" } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving credit facility", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Operating leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r517", "r782" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r883" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r883" ] }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SaleOfStockNameOfTransactionDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "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": [] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]" } } }, "auth_ref": [ "r213", "r398", "r895", "r915" ] }, "cdre_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationLiabilityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contingent consideration liability.", "label": "Schedule Of Business Acquisitions By Acquisition Contingent Consideration Liability [Table Text Block]", "terseLabel": "Summary of changes in the contingent consideration liability" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsChangesInContingentConsiderationLiabilityIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability." } } }, "auth_ref": [ "r46", "r48", "r453" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]", "terseLabel": "Schedule of total consideration", "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": [ "r46", "r48" ] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of company's debt", "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Summary of calculation of weighted average shares outstanding and net income per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r917" ] }, "cdre_ScheduleOfEstimatedFairValueOfSwapAgreement": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ScheduleOfEstimatedFairValueOfSwapAgreement", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure Estimated Fair Value Of Swap Agreement.", "label": "Schedule Of Estimated Fair Value Of Swap Agreement", "terseLabel": "Schedule of estimated fair value of our Swap Agreements in the consolidated balance sheets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Summary of fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r966", "r967" ] }, "cdre_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortizable finite-lived intangible assets, in total and by major class, including the gross carrying amount and accumulated amortization, and indefinite-lived intangible assets not subject to amortization, excluding goodwill, in total and by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Schedule Of Finite Lived And Indefinite Lived Intangible Assets By Major Class [Table Text Block]", "terseLabel": "Summary of intangible assets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]", "terseLabel": "Schedule of acquired intangible assets", "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period." } } }, "auth_ref": [ "r41" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Table]", "documentation": "Disclosure of information about goodwill, including, but not limited to, change from acquisition, sale, impairment, and other reason." } } }, "auth_ref": [ "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r751" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Summary of changes in goodwill", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r751", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937" ] }, "cdre_ScheduleOfInterestRateSwapsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ScheduleOfInterestRateSwapsTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDerivativeInstrumentsTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of interest rate swaps.", "label": "Schedule Of Interest Rate Swaps [Table Text Block]", "terseLabel": "Schedule of Interest rate swaps" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Summary of inventories stated at lower of cost or net realizable value", "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": [ "r19", "r95", "r96", "r97" ] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]", "terseLabel": "Summary of aggregate principal payments of long-term debt", "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Summary of changes in the accrued warranties", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r319" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of total purchase price consideration and amounts recognized for assets acquired and liabilities assumed", "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": [ "r121" ] }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Table]", "documentation": "Disclosure of information about related party transaction." } } }, "auth_ref": [ "r74", "r75", "r670", "r671", "r674" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment." } } }, "auth_ref": [ "r38", "r39", "r40" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Summary of segment data", "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": [ "r38", "r39", "r40" ] }, "cdre_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for supplemental cash flow information related to leases.", "label": "Schedule of Supplemental Cash Flow Information Related to Leases [Table Text Block]", "terseLabel": "Schedule of supplemental cash flow information related leases" } } }, "auth_ref": [] }, "cdre_SecondaryOfferingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "SecondaryOfferingMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Secondary Offering.", "label": "Secondary Offering", "terseLabel": "Secondary Offering" } } }, "auth_ref": [] }, "cdre_SecondaryOfferingPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "SecondaryOfferingPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for secondary offering.", "label": "Secondary Offering [Policy Text Block]", "terseLabel": "Secondary Offering" } } }, "auth_ref": [] }, "us-gaap_SecuredOvernightFinancingRateSofrMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SecuredOvernightFinancingRateSofrMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Secured Overnight Financing Rate (SOFR) [Member]", "terseLabel": "SOFR", "documentation": "Interest rate at which bank can borrow U.S. dollar overnight while posting U.S. Treasury bond as collateral." } } }, "auth_ref": [ "r964" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r808" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r810" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r135", "r136", "r137", "r138", "r229", "r232", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r257", "r258", "r259", "r264", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r301", "r310", "r311", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r742", "r745", "r746", "r751", "r794", "r999", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r262", "r263", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r628", "r631", "r633", "r697", "r699", "r702", "r714", "r716", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r732", "r760", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r793", "r797", "r961", "r999", "r1002", "r1003", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "SEGMENT DATA" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentData" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "SEGMENT DATA", "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": [ "r138", "r229", "r231", "r232", "r233", "r234", "r235", "r247", "r249", "r250", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r264", "r741", "r743", "r744", "r745", "r747", "r748", "r749" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Data", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative", "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": [ "r105" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426" ] }, "us-gaap_SharesIssuedPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesIssuedPricePerShare", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Price Per Share", "terseLabel": "Issue price", "documentation": "Per share or per unit amount of equity securities issued." } } }, "auth_ref": [] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "negatedLabel": "Common stock withheld related to net share settlement of stock-based compensation (in shares)", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "SIGNIFICANT ACCOUNTING POLICIES", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r114", "r194" ] }, "cdre_StandardProductWarrantyAccrualCurrentPeriodClaims": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "StandardProductWarrantyAccrualCurrentPeriodClaims", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "documentation": "The net amount of decrease (increase) in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Current Period Claims", "negatedLabel": "Current period claims" } } }, "auth_ref": [] }, "us-gaap_StandardProductWarrantyPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StandardProductWarrantyPolicy", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Product Warranty", "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability." } } }, "auth_ref": [ "r955" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r135", "r136", "r137", "r138", "r149", "r229", "r232", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r257", "r258", "r259", "r264", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r301", "r303", "r310", "r311", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r742", "r745", "r746", "r751", "r794", "r999", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r14", "r89", "r92", "r93", "r148", "r179", "r180", "r181", "r199", "r200", "r201", "r203", "r208", "r210", "r212", "r230", "r268", "r269", "r302", "r364", "r441", "r442", "r448", "r449", "r450", "r452", "r458", "r459", "r470", "r471", "r472", "r473", "r474", "r475", "r477", "r496", "r497", "r498", "r499", "r500", "r501", "r506", "r508", "r523", "r591", "r609", "r610", "r611", "r624", "r690" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r262", "r263", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r628", "r631", "r633", "r697", "r699", "r702", "r714", "r716", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r732", "r760", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r793", "r797", "r961", "r999", "r1002", "r1003", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r199", "r200", "r201", "r230", "r508", "r539", "r616", "r625", "r637", "r638", "r639", "r640", "r642", "r643", "r647", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r660", "r661", "r662", "r663", "r664", "r666", "r668", "r669", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r690", "r798" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementScenarioAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "auth_ref": [ "r213", "r398", "r895", "r896", "r915" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r199", "r200", "r201", "r230", "r265", "r508", "r539", "r616", "r625", "r637", "r638", "r639", "r640", "r642", "r643", "r647", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r660", "r661", "r662", "r663", "r664", "r666", "r668", "r669", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r690", "r798" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r817", "r827", "r837", "r869" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, New Issues", "verboseLabel": "Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs (in shares)", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r14", "r88", "r89", "r119", "r617", "r690", "r715" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture", "terseLabel": "Common stock issued under employee compensation plans (in shares)", "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, New Issues", "verboseLabel": "Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs", "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": [ "r14", "r88", "r89", "r119", "r624", "r690", "r715", "r806" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent", "periodEndLabel": "Balance at the end", "periodStartLabel": "Balance at the beginning", "totalLabel": "Total shareholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r89", "r92", "r93", "r115", "r649", "r665", "r691", "r692", "r783", "r807", "r910", "r925", "r980", "r1033" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Shareholders' equity" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Events", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r502", "r531" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "terseLabel": "Subsequent event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r502", "r531" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Table]", "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued." } } }, "auth_ref": [ "r502", "r531" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r502", "r531" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r502", "r531" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "SUBSEQUENT EVENTS" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "SUBSEQUENT EVENTS", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r530", "r532" ] }, "us-gaap_SubsidiarySaleOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsidiarySaleOfStockAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesSecondaryOfferingDetails" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Axis]", "documentation": "Information by type of sale of the entity's stock." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental Disclosure of Cash Flows Information:" } } }, "auth_ref": [] }, "cdre_SwingLineLoansMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "SwingLineLoansMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to swing line loans.", "label": "Swing line loans", "terseLabel": "Swing line loans" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r863" ] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Technology-Based Intangible Assets [Member]", "terseLabel": "Technology", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r16", "r939", "r940", "r941", "r942", "r944", "r945", "r947", "r948" ] }, "us-gaap_TemporaryEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TemporaryEquityAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Temporary Equity [Abstract]", "terseLabel": "Mezzanine equity" } } }, "auth_ref": [] }, "us-gaap_TemporaryEquityCarryingAmountAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TemporaryEquityCarryingAmountAttributableToParent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Carrying Amount, Attributable to Parent", "terseLabel": "Preferred stock ($0.0001 par value, 10,000,000 shares authorized, no shares issued and outstanding as of March 31, 2025 and December 31, 2024)", "documentation": "Carrying amount, attributable to parent, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r325", "r328", "r329", "r330", "r334", "r335", "r427", "r581" ] }, "us-gaap_TemporaryEquityParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TemporaryEquityParOrStatedValuePerShare", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value", "documentation": "Per share amount of par value or stated value of stock classified as temporary equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable." } } }, "auth_ref": [ "r18", "r43" ] }, "us-gaap_TemporaryEquitySharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TemporaryEquitySharesAuthorized", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "documentation": "The maximum number of securities classified as temporary equity that are permitted to be issued by an entity's charter and bylaws. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r87" ] }, "us-gaap_TemporaryEquitySharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TemporaryEquitySharesIssued", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Issued", "terseLabel": "Preferred stock, shares issued", "documentation": "The number of securities classified as temporary equity that have been sold (or granted) to the entity's shareholders. Securities issued include securities outstanding and securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r87" ] }, "us-gaap_TemporaryEquitySharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TemporaryEquitySharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "documentation": "The number of securities classified as temporary equity that have been issued and are held by the entity's shareholders. Securities outstanding equals securities issued minus securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r87" ] }, "cdre_TermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "TermLoanMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "The represent information pertaining to term loan member.", "label": "Term loan", "terseLabel": "Term loan" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r855" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r862" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeNamesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Trade Names [Member]", "terseLabel": "Tradenames", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r51", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948" ] }, "us-gaap_TrademarksMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TrademarksMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAlphaSafetyDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsAndContingentConsiderationIcorDetails" ], "lang": { "en-us": { "role": { "label": "Trademarks [Member]", "terseLabel": "Trademarks", "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style." } } }, "auth_ref": [ "r51", "r752", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r882" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r884" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r885" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r886" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Expiration Date", "terseLabel": "Expiration Date" } } }, "auth_ref": [ "r886" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r884" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r884" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r887" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r885" ] }, "cdre_U.s.FederalAgenciesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "U.s.FederalAgenciesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to U.S. federal agencies.", "label": "U.S. federal agencies", "terseLabel": "U.S. federal agencies" } } }, "auth_ref": [] }, "cdre_U.s.stateAndLocalAgenciesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "U.s.stateAndLocalAgenciesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to U.S. state and local agencies.", "label": "U.S. state and local agencies", "terseLabel": "U.S. state and local agencies" } } }, "auth_ref": [] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "US", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r881" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UseOfEstimates", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "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": [ "r35", "r36", "r37", "r140", "r141", "r142", "r143" ] }, "cdre_VariableOperatingLeaseCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20250331", "localname": "VariableOperatingLeaseCosts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of variable operating lease costs.", "label": "Variable Operating Lease Costs", "terseLabel": "Variable operating lease costs" } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "VariableRateAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "VariableRateDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2024CreditAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]", "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year" } } }, "auth_ref": [ "r851" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment [Abstract]", "terseLabel": "Effect of dilutive securities:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "netLabel": "Weighted average shares outstanding - diluted", "terseLabel": "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": [ "r216", "r225" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average shares outstanding:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted average 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": [ "r214", "r225" ] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]", "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested" } } }, "auth_ref": [ "r849" ] } } } }, "std_ref": { "r0": { "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" }, "r1": { "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" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r3": { "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" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "SubTopic": "405", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477787/942-405-45-2" }, "r6": { "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" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-1" }, "r11": { "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" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r13": { "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" }, "r14": { "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" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2" }, "r16": { "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" }, "r17": { "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" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1" }, "r20": { "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" }, "r21": { "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" }, "r22": { "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" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r24": { "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" }, "r25": { "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" }, "r26": { "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" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r28": { "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" }, "r29": { "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" }, "r30": { "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" }, "r31": { "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" }, "r32": { "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" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "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" }, "r41": { "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" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13" }, "r46": { "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" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r48": { "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" }, "r49": { "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" }, "r50": { "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" }, "r51": { "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" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r53": { "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" }, "r54": { "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" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "55", "Paragraph": "182", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "25", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480238/815-25-50-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-12" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "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(27)(b))", "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(28))", "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(29))", "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(30)(a)(1))", "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)(3))", "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))", "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(31))", "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(32))", "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(6)(a))", "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)(b))", "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)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r98": { "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" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "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(2)(a))", "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(2)(d))", "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))", "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(20))", "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(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r107": { "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" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/235/tableOfContent" }, "r115": { "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" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2" }, "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", "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" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805/tableOfContent" }, "r121": { "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" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479613/805-30-35-1" }, "r123": { "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" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/815/tableOfContent" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "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(15)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/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(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r136": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r137": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r139": { "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" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r146": { "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" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r148": { "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" }, "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(14))", "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(15))", "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(16))", "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(17))", "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(18))", "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(20))", "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(21))", "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(22))", "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(30)(a)(4))", "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(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(6))", "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(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r165": { "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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r166": { "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" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(dd)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-15" }, "r174": { "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" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-5" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r193": { "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" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1" }, "r195": { "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" }, "r196": { "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" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5" }, "r214": { "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" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-11" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r228": { "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" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r230": { "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" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r264": { "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" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/330/tableOfContent" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r294": { "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" }, "r295": { "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" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r303": { "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" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r325": { "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" }, "r326": { "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" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "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)(iv))", "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)(5))", "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": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r397": { "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" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.E.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r441": { "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" }, "r442": { "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" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "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": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r457": { "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" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-2" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10" }, "r491": { "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" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-1A" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r505": { "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" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/842-20/tableOfContent" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r509": { "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" }, "r510": { "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" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r516": { "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" }, "r517": { "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" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r523": { "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" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/850/tableOfContent" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/855/tableOfContent" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r578": { "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)(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r597": { "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/2147477965/944-235-S99-1" }, "r598": { "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/2147477965/944-235-S99-1" }, "r599": { "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/2147477965/944-235-S99-1" }, "r600": { "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/2147477965/944-235-S99-1" }, "r601": { "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/2147477965/944-235-S99-1" }, "r602": { "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/2147477965/944-235-S99-1" }, "r603": { "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/2147477965/944-235-S99-1" }, "r604": { "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/2147477965/944-235-S99-1" }, "r605": { "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/2147477965/944-235-S99-1" }, "r606": { "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/2147477965/944-235-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-12" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r697": { "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 C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r699": { "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 C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r702": { "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 C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r714": { "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 F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1" }, "r718": { "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(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r719": { "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(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r720": { "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(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r721": { "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(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r722": { "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(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r723": { "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(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r724": { "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(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r725": { "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(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r726": { "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(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r730": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r731": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r735": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r736": { "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" }, "r737": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r738": { "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" }, "r739": { "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" }, "r740": { "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" }, "r741": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r742": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r743": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r744": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r745": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r746": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r747": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r748": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r749": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r750": { "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" }, "r751": { "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" }, "r752": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r753": { "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" }, "r754": { "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" }, "r755": { "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" }, "r756": { "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" }, "r757": { "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" }, "r758": { "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" }, "r759": { "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" }, "r760": { "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" }, "r761": { "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" }, "r762": { "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" }, "r763": { "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" }, "r764": { "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" }, "r765": { "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" }, "r766": { "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" }, "r767": { "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" }, "r768": { "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" }, "r769": { "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" }, "r770": { "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" }, "r771": { "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" }, "r772": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r773": { "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" }, "r774": { "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" }, "r775": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r776": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r777": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r778": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r779": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r780": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r781": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r782": { "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" }, "r783": { "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" }, "r784": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r785": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r786": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r787": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r788": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r789": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r790": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r791": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r792": { "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" }, "r793": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r794": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r795": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r796": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r797": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r798": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r799": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r800": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r801": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r802": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r803": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r804": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r805": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r806": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11" }, "r807": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r816": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r818": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r819": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r828": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r829": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r830": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r831": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r832": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r833": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r834": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r835": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r836": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r837": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r838": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r839": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r840": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r841": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r842": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r843": { "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" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r856": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r857": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r858": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r859": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r860": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r861": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r862": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r863": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r864": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r865": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r866": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r867": { "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" }, "r868": { "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" }, "r869": { "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" }, "r870": { "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" }, "r871": { "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" }, "r872": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r873": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r874": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r875": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r876": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r877": { "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" }, "r878": { "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" }, "r879": { "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" }, "r880": { "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" }, "r881": { "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" }, "r882": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r883": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r884": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r885": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r886": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r887": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r888": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r889": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r890": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r891": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r892": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r893": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r894": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "7A", "Section": "B", "Subsection": "2" }, "r895": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10" }, "r896": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r898": { "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" }, "r899": { "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" }, "r900": { "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" }, "r901": { "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" }, "r902": { "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" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r907": { "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" }, "r908": { "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" }, "r909": { "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" }, "r910": { "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" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r912": { "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" }, "r913": { "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" }, "r914": { "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" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r917": { "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" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r919": { "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" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r925": { "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" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-20/tableOfContent" }, "r927": { "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" }, "r928": { "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" }, "r929": { "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" }, "r930": { "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" }, "r931": { "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" }, "r932": { "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" }, "r933": { "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" }, "r934": { "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" }, "r935": { "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" }, "r936": { "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" }, "r937": { "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" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-30/tableOfContent" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-30/tableOfContent" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r953": { "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" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r958": { "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" }, "r959": { "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" }, "r960": { "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" }, "r961": { "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" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B" }, "r964": { "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" }, "r965": { "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" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r969": { "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" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r980": { "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" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r983": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r985": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r987": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r988": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r989": { "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" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r999": { "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" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1020": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1021": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1023": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1024": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1025": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1026": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1027": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1028": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1029": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1030": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r1031": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r1032": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r1033": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1034": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1035": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r1036": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r1037": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r1038": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r1039": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 92 0001558370-25-006502-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-25-006502-xbrl.zip M4$L#!!0 ( #&"IEJ_'D-/_A4 $_G 1 8V1R92TR,#(U,#,S,2YX M;FS#X1 DC,WJ3GG%@&2PRZ!#)!S9IYN"5N [QB; MD>PDS*??;MD&&_^1;NLVC\X^R?7_[C;S_]9Z/QR]UD2'1;<]?,7G\BG<> [A&*MC!4A&]"OQ7:BJTI<2A?,F=$ MUTQLJ,8^GZT<9W/;;+Z^OIYK5.>LL;)-K*XXU^RU9'=Q>=DZ(]1QN#%W'79O M\W6/+:AK.M DUN\N-641H*5,AFT1(0@E0]-:XA;*$A'Z>GEN\R4(NF@U?WD< M3F4Q V+-Y1S:?[O+\3;GYKE@VOG2?FD&J5C*JR"+*QK<-IG895E0,9+2'&D +] GYJ0NBLW).A.M" ^W7732]R1FJDL+YN_# WKMX!2&%IRU2#A ML%;.=I-2*YD2(1?<26N%75(T@[/A*26!E&A1')Y:O9LFI(;*O*1TDUAD3(AP M-:%5,EH-D^?06<(53&F075*$/WO35LD5Q)0(Z5NL++Z.MFYN;IHR-2"UJ*&) M9+8R*<)7LUW+X6FZ["5&,EALB48@H[41R*9/%N3*T5'W&FUDM+EA"8=:&MOW M7$/=5]Y1[>!PU-,Y>DI&,/"1$U02,<'ZS MO&N C*+H^SXI#961:,4^>5;,..B^#39/[\*8&"W\5F_014.X\Q0UWZ5'\=?T ME,ZIZ8>$Z%_B&G?H6(9N!GA#\ M\3P9J%"0$$^!MQSVNK:E@Z(R'7X(VS1TU)4[:F)GF*X8<\09,:":13($Y0M* MJ+.%81FR+C-3KCZ;]'OZ:CH>#7F<&?]QUAIU1MT^F M7_O]V?2GYB&[ T$N%&ML?9&_0>\%\)9-B(.7G]DGR+Y]L5*S>9_ M#!![=QQWJ6*\&&\"&]2Q@&@-[;-""_7"!N JKED>F OQ4VI!.Z\63&?PSV-_ M-)N2\3T9/_4GG=D "$AGA)2/3Y/^5\@V^-8G@Q'\W:\5)5-13J0?)U<+5(G6 MH4J$Y.P3!+$79"^*4$LG$6'$DU8KPA$6HTO%ZMZT7W.- ,D9E3;@LIP-Z':F M7\G]AU;D0E>^+QKY$MC.R3R[45%>R)&QI#NVKH_N &P^@]-?@W:KJL&/"E M>:KUXI-"+P+11,HF$>%RL$;Q1,JO=:>,[@RL%ZBNS0TF4C0A@4*%ZU7<@@]& MWV#,'4\&_6F-3"YD'FQ;?S5,$_K8V%DQ/H"Z6TM<".H( ;/CSMKFCO&'K%?_ M;8..U#T.LK+0; B^JWZ8)07A=Y2DTI3K^,CP,![WO@^&0SDI&\^^]B>@/+/. MZ&%P-^R3SG0*$WCLZZ%"$>:5BBQL3GP1C)A8,&+L2D:H+%JM?KG4K\?F#JYI MZJ[)P!.'.1&UME/\FJ)%Z@PJ9?@4-QN]_MT,W0.?+\[6-(_SWP4@/7=J-/.C MZ?E8XT5GN>1RT1P&54LS-M1\HEN<-8T70]M:SA@NG&?C7)*56@/::1K@.XB@ M #2023:!4++QI&*R"7(;#@BN]>,4@XW887WT:*)FE:$?5Q%QHII5&WJ M@:"<:@P9^-]B;]G]U3)KZ3L'ECXTZ-PPH82I/F0I'@ICT;J(#Q?#?F?JX1X: M,.Q 6( [SAO,O;Q:#PKH 8[KMN4MS\DOOD.8";PJDQKIV+"P0WK/6QI_Y+YS M!VM@\P-[[SKP^Q$*LG;7\I,_DHMG"V;19Q0=]JQ589\BVVQ?7K3C7GMDC?<'CT]MA+.0F1I+ MRU@8&K6#;F<=%4:: M@_^>HM1*%1M)M@K#1R!)T9,<<+M7IB7*:7TB4B0A:)V/LR2=VTF$,,62P"TU2/JE:\=XI^R!FZ5)R9.MXA-BP>%>]01S^5 MTI+8_C8&F$H[XL>C[IH\IZ:48ZC6ENR9$^"_W]((C7-[T0?Z4RM,287IKJ"9 M&<"<@FK@[^0-BBS%3ZTNL?71 W7QQ<) 0YP5(]I>3[2(G@2.4AU@>3H34RC@ M+D=NM3;\6-AXU %T)5"?L!=FN?"/9B^]8H"'.:4F$W=;[' 6PYWP!V8O.=VL MTM OR46E!9?Q19E)_UM_]-R'?[MC\%Y1&^ K2","Q9'YEFB>0#F8+ .1M3J4 M5 >8;9BN#K-CTP0R[W J?);@YM:&/$S4RA#S/I.5(1!&J&F2L#A?16I-**<) M119J"^968Q]S#I*Q#ZW(&O6*['M!+D^E'XM\A$EFY-2QZ/NR:BTX2>#V+@IN M-PT(M+L5#, M1'VI S++QW+C'0]=SL!:=Y:%S)CFT-86X( MN]2BND$MKPGOJ2:77#)0S,Z@!C+F _A !GP#, /.-98YL>3&"Y0:+R: J9*\ M#RT4Z@PFED&+.!/JL.DKW:39[+)L5+C_F'2H9C+XUIEYUUQ,9Y-G+V0J&C4= M""0HD4B1M4*<0B%V.T?8IFKK?00OM6HDG+9)5HVP9H2VH%!L;?Q/H1_!51=? MF;Y,71.<I,9K^2V:0SFG:Z?MAE#6&>H!:VE :5.A378RQTC#+# M*U7T*A 3(@2F_0?LB*37F740TPC?&L=\.+ISP7YWHH>EXF4?X]P\&_'TON6@QO@^U5('ZP\E)EXX8F"BQL\ M41#P"/_$/2^/83@BN8;LF(L?84@#NA5S#*AAX5L@H[F5T'IA>H6OA"0_1.34 MG?0]KX@LK!#EF2OUI9U77PI?'EFKU+N>/#M*B53LE&IS54YMDLZDU7IRJC#S M0K'B*HQ;)8XTU=#EC(_+BGY3 Z.X(;)&H5",@CH 08U(OD"S&IA\-_%E7,&G MAB+[\KT:@B/VX8ONLZO!*AEX4:.HV%Q-VC]5HY%R 5W=VD5W,W)M7*CQR+UW M62.4@1#,D=>&(YL\?# IR6'.(E6B]8\X6C -?AS,O-F/-TV6_G)_5#O+2F\ MUS)F]"W)&]@G*4&Y2?(&Y.K$K/-+C4&.JX^2+S52MGSZ]71UFY?8-,V[6ZK& MI= ^:8U5OMW1C(U0-2()T_GPIF>-08&=3=66IAJ-/)N9-21EERA++57F6[*\ M:9>Y=^>'@'F][EP:U.3+TO)DR0;TLLR=-_6%:J5609,Q3*53 7<9!R[IR%4- M5K&5T624X@0J>*[B\$1>**EA.7ZU-!FKG+E4 )8]@50CFW,%-1F]4(H*H;23 M0S4"95=5TR!))U5AE#\*O$8M]X)1,DR1- 4NK8LX+OY=YS4.Q18F4ESS&($* MD83+N"*!V34N1U]4JFG<9?IWRCFDI[\E4HY)-KYXNV/L>&2.RT4]:>1U)ZZ. M\BXY_<*])DXUI\"C,N68J!0AY\1-/B@MA86OWAO6K\J<>!(Q6&^HP;T7Q8Z\ M)B.+E4HKKN,+:SDO/-A+Q;.3#_7%&"=] [/ C4I'\5+K1VSXR/N.97WATDEV MR5-?KXU1J+!4;)G7T!28"QUERC)3 M )XQVTJXP)L'4OU7IN1+DSCVZ[YDPO'"A%I)"KPMZ&XVICQ&09-?'*#Y?":,-2CXF?]MQ=GB\YF&T+4O MVM<7EY>M?T%5S]_69D""["-(O\VY>6[S9;,-EM8#^;!U?,$!"\JU&)?72\FC M!=@U)14PP3?]<++5# I_1IJGJA7@4+16!]!5L%*@)$4K%=6K"M;)I/.B=8(L MS'S7ZAQK^O!Q$,IUC,)UA6.O.V^&Z-GH>O2\RSCC9C!'EFR3*)_9B]I#GR?I MX+L"DBM!ML3C&UP,*OYO6L:?FF]"OZ6;#0[F^,G_8%FV5WKY#3^!CMK<(19= M,[&AFJ] N .*5_[,FP@&JWSUAD1V@K\R:&MR6_[; =Z&\]Z#F)]I2XP_L;U?EI.K,*"(U(,2!/S%/DX%="[X4 M4X(=/\&=0O(#>D\V_'6$\ND.;^((B@S;#8#N,J^Y2<@I_Q:E0$!-%L>C(-F< MJ"_FU,%0/W3*],%#4]H0[KRT]86\B;5GWMQ3BO]\-F'!H]=X8R0,XMASGSA; M&^[ZWK#@+W X/,Z.?SQSNHB,GT\"!,FQ])AGK+O=O^*' "?=4/I\MJ"EV MQ'/O/A@HM+RA-+W^_37C2R@R%./56>'E(-3:RKW![8R].7>FK?T6JGX^LYX^/%([7XZ-(G?><*>+1IY7\^%^?W#!]2,CO^N;E8 M13)H*E@C>0VL1;T=BEA=$E,K6 NYD!,K?>1K!4L=NN<5YR]L:+PPG-X-+']& MXWTYW,BZVS[2?]N\:U+AQ1LEF;YWX%U1.WE<_4)-=BRCL+7%-W6LI;)A=.=V M!>E<<^=L\&YZ5KIB,)V6Q1*G:*40LQ(M]9[]L!=^<8GQ%T-+,.M91!6T+4_< MUEW-B=?C,*&"9<<15.#-6QCA SYT]EB;25G!VLE1R;_D#A1?[E^+PU$KGOYA M?/2,.^USC%;*/!4=A?8UZ(/L-:[K[!]$7T2N;T^L=XY<%:TY;LP/;6K%.N=A M0@7[XM"VEEA,//;P2''RA*O^X5GSS':H^01#E&9LX(?_/53+\BS>N4=["WO. M"3KT*\9@P.B-8,9M<')R!<%^ C\+]R66T+7V%Z'5&0CA8MZN+2+^@Y+RPSC^R>^7Q1=Z,\DJJ+(I5Q%-\,Z5MPU> M0QW9<5$35P91G*C&*/6K!#WS*= MY*-4\AOEIZGXMN-@AEQR+ZLXUG8>QSF5 MI((PA[>O1K:E>=B <)&VR16C^C"3(G.SHE.Z8/B8)![K!7+HBD,SOJ*J)JT@ ME-#;-,9T<<_M=;"&Z.UBV=;4@?$ZNLJ:C_RC],M3+B%%W5Y;NC\C#O@&R#N6IXS>V'0P:?4 M9*(G@\9QKY?A4IG_32T7ZG33OFC_&#.2)^5:07NZGS\%.A;>#[W; MAO[:O:2"+U,*0_=?,-VM*.:8HYU<1D6G;0G]556S8+^ZQ[Q_<<3:+_KH_W:% M<^8>**&#K %T=&[9:60$5/OE.9F5!GD%5Z22OEW1F9_,C]R M+*I$[H_BEW3@MRY]L0F38=RZ%Q2P"WJ-3\SRYJA@S^F!&F^9WN/T-0B-[;12 MPR1R47^06K8+U3)&7<%:8KPK3)8C(2S[KAJ,9YTEJ"6>\7^D;\;:7=_9G-L8 M+MNE&\CDA#=D3\;QHW3^"7NQS1J3.F7J/%\ 5TJ_W%%)!M4R/A)NAZUT^I#*$I.0/M56/\,_?CI\T MRINA@G7U]\0$3'?D);8X]1G@A-EB% MH;U@:A/+_'96_U0[T["I6Q-BSKZ=N<[T_.;LG[_]Q]^^_OW\_%^WPYXVL71W M@4U'TRE&#IYHK\29:V-KN42F]H@I)8:AW5(RF6%-J]<^L7_8?[3S\]^\-FZ1 MS>I8IN8UUOA4#W^X"YJSS"]:\^+ZHE%K-+5Z_6;]:0RB:7]YL\FWL[GC++]<7+R^OGYZO?QDT1FK7ZM?_.NQ-]+G M>('.B6D[R-3QF<;*?[&]+WN6CAR//Y'J;\_4"!NXO%CW)2S!_SH/BYWSK\[K MC?/+^JW(6D,A_EN@D+/ZV4S[ 5&^U6A?>K^NBK"&2TO0:]F]_T[2OU#+P M$$\UKXDOSFJ)OYW99+$T>-?>=W.*I]_.] GE4!K-VJ4/Y#]'#I,BUX\[RYQ@ MDPF;?; M@TRX=&^1P3L9S3%V[#.-=_-SV(V1I2/>YMPRN ;:GW1K<<&+72@U M[&&68N3%0?&N?[7[T_X24T^+[+;)"BV6%,]9!?*"NVR\+7"1[%#KMQQN'9E) M)\6;=(G>(7O^8%BOA8X@00?'PW]/;-VP;)?BMOYOE]C$D\O(72P0775UB]YC M!Q%#$;1\JT"0MHWE'(W0%#NKX@$G-5XV[H%+]3EK?T")CKE&DDDP*-F8?$"$ M_D*&BP_#EOQ]E\&UKOG"QJ=%";;WY$%22V4@^FY9DU?F,#)N]YTYIEV3.2$S M\FS@MFVSF;R]L*A#_O(DTGE;S:C>,;F-3:^39TLD3% *S[' M]:<]RYR-,5T4Q8F\7<(:=?8:Q]&&E4279?"HAUF#]D;! T_1G 5FP)ST"'HF M!IM']K;&^?HJCRM\L%NF[RIZWP2&L! V9#9>'NX'UV&?'YFE7[@+[ZM@;-L_ MF4--UV+S2Q?"C9Q=0N110-P=,O3&H9@2[T.5"QY01/60&\''-9DV:R720N/R M(BAQ87,;QEV"<^8$+,XR^1BVMD43:U%GI+N&WU;]D\_C[=9]:B,E>ZSEH'U. MS@'B*1$\^,W!K,9D_2UQ>)>M5I-'TFHU[5Q;M\T^W_6?[CM/H\X]_S3J][KW M[3'[X[;=:S_==;31CTYG/%*0%PI$H6U]C-OXG?E1VC-[6 MB 1R%%DI(@AD=@5'9@-J,>_460V8)^&P-4SGWRY92:<"3G@[M+=2UB94Y%-ME$!\*XAB.,B!N4+I'=@G&$S$&_NBQ=+&G,3_4! MTS#!

\'^YT_2"#![28R[4:&Y1A^^< M<"VU'2_2)Y"P? .G+^\]L<+S.^/1["&GHC_]:?O+5Y'7DU8'HHP3W1QE$('P M/L,17F2+BFNA8^E_\J SIC;73V/"D"9\MV!,4,U:Z[I9IK;)RB.J MAY*8X+G;0[[O8^))!U&3;W.PJ=!=<';C"4_-T(G(?&17A"5520GMBC8G4'BB MCA#NK0X3LC9[ELWC9/WI&+V)/4&55BJB!$6@AK=8:T\FQ"=BP-:;7?,.+8F# M1!%^0>FJ2%@!';PE'=/'A65ZX+W$2Y&3OU4LCJ[>:EY^/D792<&"MV8;X\72 MHHBN?+!WB-(5SUU:\,5HVW$H>78=OAH=6P.4LCA7;@>6V//X6\5 AF>1N283 M?^GIG:LP^=H&FSKC3TPN?JF!RH((W"T:(3M\(W"UXJG)3 M1 1OTR=J"3*$MEL2K-32Z$NWAA+2 ^2KM'6=NI$DQ:R!)RQ?$4FJX8/GF@3T M2QM28?DMO*UFX^J$Y2F)#]["/$(A^VD+T;$]8BZGC!R< MJ,F;'VS-FFJ;/C5D3K18 MKYKRM?W'SHO?YE#&.;74&B58Y(P38P-^.38;:?*G/O9L-3YJKMFH:94X]B7D MNV/""\8.;QV=/GR)SA(>-:9SK%NLA\'YN(H]L)3O* 6B^$Z=?MZJ?-CX<\$!.9.D\J M8O;R)>U@O7P#P"Q,*;JU9;3VX1R\=4#XRDU_>D\X)',B4IJ$DK"T8T_9[ I; M%G'Q6UV"=(,(0>%-_K;M\D=UDG)!9*I45(*YH0-<#D5A/#MI I>H$0=]TVJV M*B'OO,@S4U.*&KE#O%R3UC5MEW*Z!A0OB+M8PTU.'9*H6%&I[LF S"-WQQ_+ M43!<0X79>_%B%96O$MS,6P9*L,S4TC&>>-E6H:U)E:NX0L4EK @[IB6$;2P?,4%K88[$/0-G $=>HI!$O/8 M&J,W?D(KB ,^6'0T1Q3?(B_NM^!951Z/,UQNU>;BW&JUKJ[+O"+X8/YX(6P) ME*@%U%ILYK7(I;M*CD"D7M7U(A?^,,Y2@V-&!)S9O+:>,Q2;T LE0 ;BI7E M'+SMOUU^;-TOPUCJ;9MN[JS,O$)WKS9A:=R>\MY5H.)Y R^\OXLQ>$(O#(D& M">,AU-3'R?,U]NZT*#=3 :?=]&%K_JIV)Q(G1CPZUKKNE:KMC9D82\^!'W MB6CS#*#R?+.I^NY40)(% ./5\>EOPXHPXV6=OY*61B=3O^(ZL1\?X%VP*\[2 MBR=)B_.#%5JHN&[LRXG,8'DI89$78C,R&+9[RWUVIJX1&D%Q1$18)0Z[WJK? M7%=) 92APWNHZCB_?6M?G^CLU(?R:F1_GZN2GO$#?C$0VD0WG8SHOXWWD1/.;[>N^.\=AN M8I7U@RMU@;X**V"97 08M6> J$/^\JCO3]?;&%Z>&+/ ]\1.]55DJ\?9 MT6C5;LH\NE:X4NW%AE K ,5*[_&28IUX>-AG P>GCJ(XA8Y,=M6*:T-N%H2: M &@GQK\%-.44UJ9 Q:6: 324W<$?THK;FC"FNMH23UK1B@I*&7(H,D!/; F8 MP7'8^VRB)S0 2PO ;J++<@[>U8YAQM'8:NN,5Q0S:&Q0.:N!@4R'\9-S<)D2 MLI9O(,Z1RU:]5O+[$_M(4IR[E9,1 .__VT$4+HNP?[#=&W'^+Z++S%6:>&_Z MH?NG?]H?;?01?_. -Z04)R+&X33O,V /V- ;6@ MJ*@),).L]\*&^L3J58LK^U6K>57F)G >&4K.G6*T\+(+HU,\3^6.#'J!F%-J M5$O"JD !.D,*+/#R6PJP5GX[U=*$8N!+K[2//Z^WC>4GKW M^M'\CN!/\\=>;%Y6Q#&C2/""U&A70O/.E.F :2*?&.'7DG1$)]XL\+OA*#OUP6.7[$RK@+/&'Z*>]T M%=';'PT 7J@,D$0 V>?E#M0;+(-W0-V0PY%P@_S1O43?-)CM!CG)G7K?HUL$C;*>JS))OAYN3W) I-ZL47Q'E5#M\E><*:,K M[^X[C.3(S-.BH-'RH*1">G^+B*KY\3)Q[C]+G.U?B\GA< M[=65ZJ&&H_0=E\/GUM7G,L]05\)@J_&ZV@NH8%'IEPSNV%.YO; 46C[&!##> MP[M+JU@'+_E@[$'[^M#Q(_,6WO,8!QO?FRL3CV[6(UU_:'BYK):^\.S Z7*1 MNUR5D]^N=@\R=9]^=9[&_6&W,X*?OK8V2>*_=WL]K?UTK_7' M/SI#-H&/VT_?N[>]CM8>C3ICGL(>I4[#/GG:U*+:)"!0,SB%&EF3J"&/1O@N MP(.8P6*G(*O2D2^N%E.3H%9#O$"$J0CEU]O93,'_%R.JCE.V95@F1T[:L9NL M#\0">$Z&&M(G9FG&K]AXP8^6ZIHWNPW&(\EK"Q M]Z<@0M2%[R4)$F/$)',J^4524D]"YEA6OS8ND7FG^FD"LO'=/1SK=4H=0&0P/.H%59# 6\! MZ 6F>I8Y&V.ZR-8O4?&3DID2"'AKKRCE3Y:I9XRRI,+'W]3B_7=-VZ$NS_KZ M:2)_AL+KUQ4&%"^(N^"71/*BP5O:WAL,XIC$9AJBE!HPI)A+,A*32P9.>"Y!2+SGVO!;H+A7 MDS&]Q,K&<=9;C5H9BZN"Y"F/4'J4'F,9Y5\VV)^V9S.*9\CAMV&9.EDB([@E MK#^-\B;' JLA6F %]QRR]14*.]>68>_:TN^>_VPP L[9XG1QG.67Q&STB!R7 M>ME=0QP0:O>G8\MA;-OB7^94I=96>2YD,IUK$E6V#O=M%JCAR*,522:D4+; MG34KC9 7TGN3I25SVNO%UC[9FE>U5NU2*55S M%%]L?>1AVJ4^1;^DC>@A7V&EIZ M?J.\L>D8ON5/OA55=-I;6/K(FQ[)9&1O?635@S7.,V03V^S(A0R>C1?@R,B% M2*U4-9FFP8*R\^%;9YXX9IG^*L/[)DB!S&&.=_8XUN9XTXFWD\&[61^2 F]] M/:[P7 #12G;S>S%IGV_;%UYYB0C).9W)96$-IQT&1G(S%>@_UJWWOQ#UKC.0 ME$%*\5,1@RH$6!;LP778YT?F.R_T-Q4#E<3.OA';-[UI;^'T' MABV,VF@N[S[B?GH_GX"[V>./8&'!S!;R]MX5QH,EJRL''T1;TI+]96;(YVH( MVAB7Y_UVFE5AZ.%YK++8LF+6BLU403<*Q0YPZU0!5NHFF&H[[U4WQ. !;I.J MX!)OJ:NU\FX50P =X#:H)"K9K)V4.YF[PW6F-/!>@ MG.S,6M8&Z\<[UM\F"3MUMYPM8EL[BUA_-;I>Q 8]^=]K85^;U:K&^],:[WW1 M>O0'UU,I^VE.@B-,>-)YX[>\M1?\KSPH16V=J,5(?+*[. ; 6^06LDM8)6&K M0-PGI/GUPF=P8/=^^W]02P,$% @ ,8*F6M@+1*T$-@ 9XT# !4 !C M9')E+3(P,C4P,S,Q7V1E9BYX;6SM?=MRXSB2Z/M&G'_@J?-P]CRX;%?U9:IC M>C9D6Z[6KLKR6*J>W:<.F(0D3E.$&B3MTGS] 4A=2 DW7I%R,Z*CRY(20-Z0 M !*)S+_^Q[=5X+Q@&ODD_/G=]?NK=PX.7>+YX>+G=TD\O_C+N__XV__ZM[_^ M[XN+_[YY&CL><9,5#F/'I1C%V'->_7CIS,AZC4+G"Z;4#P+GAOK> CO.]=5[ M]A_[GW-Q\;>TCQL4L38D=-+./KR_WOUPN^V.A#\YWU_^ XC,8Q^^A;Y/[];QO'ZI\O+U]?7 M]Z\?WQ.Z8.VOKB__^\MXZB[Q"EWX812CT,7O' ;_4Y1^.28NBE/^Y)I_>Z;! MKH./E_NQI!#\T\4.[()_=7']X>+C]?MOD?=NBR+_V6"0'3C_U8OW#?+ WU]F M/^9!?477.;(S^!-4MNRZ_O3ITV7ZZ[N__9OC_)62 #_AN9-^]5.\6>.?WT7^ M:AWPKM+OEA3/?W[G>I13_>'[JX\9S?]G&C.!(XB4)/*:FPS\2/]Z\<_BX7Y]&!11=Q ?A@$Q[H_N"Y) MPIAA_,ADX/HXFF*720;1S60^QY3]<(=CY >5B:XX&#B^#*((Q]$@],8^>O8# M)D4O_D?HNY@;/9U8M7<>8]/:":I@1%0:US:=1R%:^A<],XUZW M&>);/CL#W' !/@9DP5%ZV5=CE0=#09G1J$;)![;CP4! XNI_YSPKU/\&V>, MT6 P^#+PO/1?%(S".:&K=-HWSA#U** Y,4=)$'?%D.)@-OCRF1#OU0_X5)[$ M2TR/;=]V"9W,]]N+78N:/&I@8-#\.OZA*W9)Q[7!K3O\'+.?OKMEIU\_'BPH M3CU)-7FAZ]46I;^2FV^T&B-5T;(=>ZK\P*_:"1R%;\5*?=\1] MQ%X2X%0+,<51_(1B/'U%Z[KJ7WDX@+S9[[ YILW-B3IC@N'2+8J6]P%Y_05[ MB]H;M3(CV.# &+,.)'.0Q0COED,N6%O8D>N[]<*M>_^%Z"@F@2!ILB#WC+2-24;UKX'YQ! MWZ7,D?13Y*\!EG,4/:<$)M'% J%UAB7&WNIR^"W&8<0WA,.0F<"=,S"*(P76 M)_UEJ =QQ+_AG4<'(O@PE3$WE#7;U'J(>MP'G$0Q60V^^=$=62%_=XJ*2NBA M>6=2^-*D,V%]K1AEW?Q@CSWG&T0N]Q0LF:_Y-V?XDC/-\C_\H]V1*P<)8PZ/_/[C-G'[8B\C_:L7D8CYK;> MP][^6S_F@W[Z].GJRKEP#CVS#[O.'=:[DW7O\/Z=; !G/P*G:T=90-S"@ $/ M_2&T\DK"OSDL)-LO?MN'G&0Q)K=DM28A7^(Y?KNQ O2,@Y_?&;7Y[?J((\:M M+KNG_@B5NX)-/J):""NE5@I=H/*@O0-:I)?-A%W/ MTEW+[1RL8[XR5AR(^\D0>6=&'"W2A#)C\/,[.PJS/]S?;+:A)IR:>YINCMV- M8M(8M)0JDV%;F_P0X:6<3@8M]?Q0MZT[U!!X^$III]B'K;_W'8B'PI[.*/^%&B!REO2O;1SO04B9!4 MQA'(%,T1E9^>)8F!,DWW?_[B8\IXM=R,\0L.S&:KHK')I-4T![*$1J=HEEY, MI7V46E:5O30X@\W$JEECE_*V:RJHE4,76- MK)+.8T IJ4G(SRX=ZE8GTPZE?_CQ M,O,189J&M>TB .63RJ2I5,-,&P-DB7*ZF36NS);FIF!)Z9$J.'8^*Z)I6NBNJ,MNL/,8"">6$E9, MG0JZZK0Q93(QP*&S::%!FL\#+;)65Z<]\C=)Y(O%X)3@,=M!>L?1OS>; M+^B?A-X&*%(Z'LU[D!_4R_4!BT\'_![02GUB*ME+%7[)^JGMVJ@D9E(+Y^X] M'&6(++@YRA-G==J/PBWUM:9^R5ZDZERA'W@\*V$&*O14E7=MF8/JHB>U<>_< M+)0F-F\:*A+9^9GPD+>%OTIDNQG1S)<#"L]+4OT MXW=Z!I0AO#L JA"U>_XK1H!SOZGJY">&EI^*Y/ P:%6?_&3P9>AM\$2H93XQ MQ*3[SZB&^ZXG,RG,7%5EV%2>*7B2%O8H/B !5^/)_/< M>Q_UG-$VE// J&D3LT@G&U(6*2L32D)%84H986]U;@U>$?4TRTX!1JH_)U V MY@W/[I=FH.01KDRJ64X82OD#_-03=K,YP#RB#?\N1?R ?>@]!BC4GI[:&$H^ M-UL:K.YLEFD&:1_USN?\$:V%>=X2C797W26A\0S3%7^_K]N8BF 5VBR!AD"E M9M(+H047(]GY7>P3=U](KE_WOPDO)@N_=HFM\#'FT:]RC.L_HI2QA@A'Z?2. M-(?6[EKT"!VK]E.6W>QFD_]%85G-.Y :IG)=6&:2TAJ? AH1W9PUKB0-HL.J MC;^^%Q=3%(5M4B.YU11Y._;+B&+(KBK;#?@VC-7;30F'R5Q4R M6#%E*NA&7E5(F$L,QK?SHJ*(\/XUA0I1JVO(#0IXB;/I$N-X5])-L6+(P*6F M4M4 "+G*54'>H!3)S:T2!A(@IKATOC;(D<^O!&JDK4Z7X6H=D W&:8#"Y#7$ M-%KZ:WX-.9Q.'@^I+MAJQ[]4S*0*/4DUKF)?X/C'_U5G/C-L7I%3Q0[JSM1Z M$B;5D.Y\2E>BLI!>K01UEI]>N&2%#P_&44&DU;L2K"WSMK]%?_ MK4C'2D<:(=O",Y-N^%3((%*=/W8S]>3Q3I_/I&55-><.32NSR2-N!XL'YJ9% MU*X*'QK,X&,L)-D\EV'6?28?'2G2J2@CH;%)MZLMX&$_TS7VQT'%V(??QGB! M@B$S D+GKP#B1&TD,*UCG@TGG /'/PMQ/@:HJM%J'A'Q8)TIJ1 [KI BK*P: M^YS_5Q/^)X!4A^:%D(?Q(@7 R#D M"%N=&KG\H:-PG>CBP&7@4HU1-0!"KG**R!N4(KFY:6(@ 6**2^=318Y\?K*H MD8:2G7I7G&^CS>2D:B./&]>ULDE]KC#A5EC>)'S";D*I'R[2+.1?0_(<8?K" MP[Y2*1:KWAU3I<[OU/:X>BFT.7*#Z;&5"B;*BMTF738S:8L8(4R@W28#K)JJ M1TK6F,;IO0YW=/)".>O4 ;K1+/(&+:43QK M)'YH]P &+EM(("X'@E&FF1NBC9E:6_MTDT?XZ/%R/9] MF#S21XNZ7>\EZWLRS^4D4/DO1;!R+Y\,VD8ZDUS.!6;5'@BO;KG[)A_ JZS: M5+(7*64S$Y^6E7@0P J]H,?1LD\9)0]?M(,;#&GHO M01!JL(*=@I<@MNEU2\'WDR5+C(>EU>H4\=.%2HRPY<)'S[%15H%30'FP@!#4 M.G'ZR"L)N"&AS<9.*?E-S'"P4,#H%.EBV2(YLG:?,6RS]P]<=BB+?-TK!C&T M/*)?#@^$5OXGQ>KIH6U7BOZ3EK4?-FB%0DIBU/WS!AD)A=<-)JC;]>MMLZJI M''@Y$+EGZ@C((BEJ[YM91L'FVT9'J9D'(8=9^D3$I"(5&9 >J6SQ5S M3*DT.RBL,$ ,PL:LH-"9,4>4H8MIPN1EZ. 0?B\R5/Q>1HCGEM#:B5;3M# MUC]J M \T!Y@:0/Q9O=(A.K7PM_21ML0"VS:["L\)#]D9Y9;?$11C[ MGA\DO$#]E$>JI=%KV:*&O7NFEQSI)$YQGLR'B(9LU8D>,AVF89 R)>F0]FD1I.,J0"EIZC) M1$MB5A+EJ!:2*!70+*9,.D'O2('_>GG$G3'[F/X@^'Z+2H&2$\FG9&#LK2Z' MWV).RW. AV&RVB9)&_M1O-?=3 "8P['C]1&IA^9.KKV3D>)DNX?HG86M>A1A MMKMYCE(OHVPO+@0ZWFH? 5F8A)-XB6F&QP,)^6-99A\E-"EACTB3P-;>2(O9 M2K0#UYR5J#IU;I;YKX8^GLQR^?L26G-G$"(-.)X W8+S4XXF MG)F0FZIJ-9$#RFUB8XI1RB#:408C:WBL -?V%>!4/-#AG^RCW M+:I:-&@C9>PW,94-[.$K&\LCO(UL9G%3;WO2'#TUU\P8#;0Z)T"=N>)Z%'/D MO[_Z^/$Z)8!_DQFD;3[G<)&-=WS0U@-NT58!-IR]0*3HJN$[U6\)KERY53C" MT>D4P=S$,SLH*1N(=@:2!AUM'54H0-H[JO!4J4QM1T,&]^)8!5YY26540];B<328;DWN!*D*LV>_03Y_7U];V+N,27).#! MVM%[9N*SZ;-?%6X)PR6,>)A>&)' ]WB1POVOT62>QM?P#AC&60B@T5S[].G[ M#U=7WUU=.1?.OCOV]^WDX6[X,!W>\;^FD_'H;C!C'Z8S]L^7X<-LZDSNG>DO M@Z?A+Y/QW?!I^G^=X=^_CF;_P_I?!6%4H&XO,3;4QY13SRC"^[G=[2W;C&>W MT]V9;8$N[:"8R8]'4I%0$].@:;,CP&@.&T^T)6M)W>097^S=\?GIH;RP*[!? M>/TFIN3(-'0KF2.4#"+"3V#;D43N.F0[CJ$85"IV&GE]0HU5:3!L5B1,"W4I M0UL$<"U)H;CPJ$6@U*4\ZP7H6V7[H8#0(_*]4;B] E;GXU*WZ5(<'VJ*0T.* M7=&X;A;&A[UT_\_)8;L!;AI><'9B5(O)O'V7(OM85V3F9%D5WQ..&078VX5+ M*V4E ^Y2,-_5%(R,!JM2..1_9*B-V)_:/5<.L!WNHR P7M%/L!9NKK;;K^.# M%D/ BW_B)=O8.6$8I* _OXOP8I4Y9;:_!X2=0'Y^%].D\\TQFZX4LU/#'<[^ M'64K8^'$\T2"X)[05T0]B>A*]P)@A3*3<&G*#H?84X=^UQ/O&%'IQ#L%!+"C MJZB:Q?EY2AD< >5VHJF;(9HD<12CD#LK]'MO01, LZH!H:EIA".^!QQGFYTQ MB61KVA$,@%U> P(Z(@J.1/9QAQ)IY'X'L*UK0!(Y@N!((:5B%$4)]NX2GJ\B M>_N45LMXP*_I+_(]H%';+J7W?;NKDYY8\)+-K'1%T9XT[E*V/W0MVQ-JX0@W M]\!J1B1>F11]?LE02&OPA+-NQQF9H6\\ MQ\OV>I$#-UZ2E&MJTZ=)5?MV8E* MQ,/1 ]EE!$,>^XLP"UQU-[D2*(/02S\%V2/,_71@)]S)G''@D=#TASBF_G,2 M=SATJGGM^>DZYAI\E>6>E3NV2K]D*42VB8#V5T#'+!_,8TQS MUIQSA_&@BJ(V.G*GZMF>1[(37FF5\J^7C/7AZJ-SX1SZ8A\&MW__.IJ.9J/)P]3Y]ZS#_PG,T!A#:8T))X5A<>ITY MOS"@,C0R&FX8%K\WL TZ= 5SRC:F%P="X9P]#_AO[P+^A;V1QS32G_O8VSZ? MSVR6QXXJ^0=R490P\Y1JN[DZ-#0*@!B*ZIK2$ \@*M$]EP8>LX.PQ]8O%"YX M"J4CVB)VV(T/\X6=E)_]$)6S*HV- R $I+HB-<:%QE1)LL,K825Y!GT_7&3/ M\B+?VZ?NRJ;#1FEOVAX,0,B)J;:TS0J[GJJISPSHW'=1&.=2P)+ =YF]G#+[ M&GJ(;B;S.>97G7<\)#XP=F9]=W5]]>'8F34=?7X8W8]N!P\S9W![._GZ,!L] M?'8>)^/1[6@XY1"[89W=N,Z_;T>&Z_4Z@Y>;R3-31Y_Q=8JX)J>.6]6K33D\ M'*^5_L6FG J[2_T!&UXP8#+/7<>H4^8:-(3AE](J7$%.!F2UL: >FSBYIT0* M"L Q9:Y-AR5-1H[=*[P73 =!0-([G8D^,[P"'L AN)Q8#&CJWY[U;\_^+.'$ MM5Z:G5_$<(9:AO(CS2)+T^^4P55"> !.'4,IR6EH^R3]2(F+L1?Q,*D+=+1JRPNF;L M,13AIW2T&+6$X6DIH]:*^J2L^ 65, OIL2&JH3WBE],*174,O4 MHI0VK[E6W9M6R5'4@FG-L<'N5GSW(F"/YOZ/PR9,.3]+]0#9S)[H,UP9KOS%=_*EY5JZ5X &. *NES(L%*69+M90J/87[$CYV1> M>>:6ZP* R["F@,O1"V7%W?_YBX\I8]MR,\8O.#!;>)6-NU]_)4[&KM9?)3=@ MR#N_"3Q%M_0Y1]$'N*780-&U^V8YN3#$.PK721RE=%V;G7I$+0"LM9445B@^ M$8'@A/6AM+ ^ %HW6Q'6![#"^EA:6!]M"$NWIK(^PA%5CG3^Y7FG!CST& M$.[0"J^$:E)_T]5YD(7D+EA)4AJR,\:MJ MVAA -%?KIM64%W!$?U#+'.[:R5B !6 WRRFP>%H6:&H[<%+WODV_P%7O!H % M+2^OZN3"26(U358K1#<\FTGIT+P/5]?*A%87SK9W]M?H=O($/Z:N3W$EH$8* M#282KD]QU:>XZE-I=,[UM=ON0<2,;+5S1RI_W15/YJEG89NZ M0Q: 5JH+ %O/LGI0CD X!SL!G8]LK6>DH 53ZE\)WTFG6=UP=$C08CZGC3H# MX$XM*^^JI,*3?"ZY3N&XM'/]\\=#:M=.I9X ^'FJRKP4G7 $KC!1JAHD^F: M=E(5E-G0BH.K*Y)?4?BCTIP6JRXY9"T K;DUA:@D$X[\2E";9G&_KF]]=_T M6F]KRKH"\6>I 0T(OV.Y:];<[N1N(O+.?+N/"767*,)I H8"QH/0.P2%57/] MGJ1_.W+][@9WTM&=PO#IPVR.@)-BT+N'>_=P[Q[NW<.]>QC H:9W#_?N8<#N M8<%>[#19.#I)\OR9$._5#P)AVO '')=W.C4[*J #<0T'5;,\Z<].$-:#EB=: MB^L/]2*#/7C&$J.30@ZV17'5O@[=M4XU'XPN )W72@ MM[FQ8/H:STE1<\Q\FYI9F(F/%*^1[PV_\4+-F,&G?EME]+\E7&!Z4\])LTLP M^VUJ_B,E:TSCS6/ $WJ&'G^8LU[)2Q]W-#: 5*UGKMD*YK;]9J!),B;K=)\? M+L9I%6B1$>YHS"Y5\@?K*MD14]^F43VN*I:N([,E"G>2Z&0#K,6A2XW^T;I& M6V(R' W7*)\=O?@+&+V *+(F=;6S XR-!?,3J@Y-O4R&W9Z_\#UE!@>@1 M;121$AWCT*G;_>I-ZK$!E\_I3,*0IPG._]#VB40T8J=Z:?\^J!.>GI,6/I#P M=%X53UD=:FA9;#K57OO71];Y_3:W$'KMO9T]6U>'[TM!=5QM=LXN(X5].QO@?3\A/,(Y=AORK,"BE,F57R( M\.@AR@&!?%G PY'3U/.Y2W*/9<4V_B]G+JF]W:,G;EI?(@&SFF9LO!?$SU; MC_D^ZQ:.FO(W4) M/E4+ -:WHNX6TFFH2+0JKL,B<+EV;I+KSZ?;$C >66,'<;]U;/EGABN8M7XY,.^P7SJB37^U; MM!-=*7#0F@I_0=_\5;*2\LAN6AKR7V:HC.Q 1;8L M.8]94P#NN6940T@L);P=!.B[[>AKOD#J1HI"6B8F#K=YK UNWXCA\Z\1([[B&BU2U$M 8[/,XFMK7/LVZV M%P$6M=KG6>]#5/L0U3]+B*J $)T#3MVDS[,.R)OV)SH.M956S?;&@@??/)(H%22-;'PV Y\U4(UKGQ;EH#:'87VR3%[B; M-'U[%M9[(,8T6T6+XP/PREG1+#/NP#EO3Y/5"M'-(%@OT13-<;RI<*C^7G.H MW@["?^#C.-E _9&Y/S+W1^;^R'Q61^: M+&ASI3]*OYFCM*+.]P..)_-\"6F)M,MU<8:'YW($PKLTS%^'LST (P4MF%+_ M2OBV/#4Y.#K$V)2(-C#I[(R.QG5)A2?Y"K6EJY>&LU,PL.:AM1:=< 2N,%&? M*8ED"[6^&: =5(+/B]O6< M13\T6N.^=RCU#J7>H=0[E'J'4N]0ZAU*O4,)6L[?\L?49D<%M(6N<:1MEB=P MSDMOVHMIO^;)6W&$MELLO4G#5')H0-8)?H+RDKQ]FVJ<*Z7>NM[FQ@)T&W"F MBIICYMO4S!*ET+NUN&I< -UYG*EFEV#VV]1\1:GTUC5=,3: U[]GKMD*YIY3 MI3]QZ?13MUK[8P)X;]RA2G;$U+=I5 U*HW>P =;BT*5&_VA=HRTQ&8Z&:Y3/ MCE[\!8Q>0!19D[K:V0'&QH+Y"8P:M<')MZF0!I71NSILJW#HU.U^]2;UV(#+ MYW0F$55/;_=$(AJQ4[VT?Q_4"4_/20O+5D%O5T/+8M.I]MJ_/K+.[[>YA9#5 M2V]]WR ;N%.U?IN733+6ODT-[E9M[>GJV[P^>EL*JJ^BWF4<7,<*>O:W0'I^ MPGFK]3'/N:]VW7O"\AC7V&C;Z<85_.L"]GV)4,WUHYPU:O')[P"PX3O+T]X?T]X'B* LQ.DKQ86(CY;)%*?S+?,E=UN:!NTO%)FVUM^(W;/_QXN3M@IJJP4P2Y%\VL*9C[ M!!-!%8[;1N39=9-H4%3ZP4P;PW!_E='3,E)L\4;AZ_OH?12CF#^9';-VP6"! M0]?'XG.U61, GJQR2K>_5-"2UH($V/F.(>?Z*)"S_!0&P(&G(H]/:6E)K>\Q M3U]IJ- 28 !GBAJJ+"&JC8J&_ HNN89\OHL_]0]H M8,_.(:"AI_GE5">'S/#G,1$>]#6P=L_U1@JUY[Z<"JN;F0<2?E7?DA<@+![> MC?0FOS85$&^,R1%VWR_(RV7ZRIEN,AYO/QS8N_WBMZ_3XRUY[@>+:[XQ,_/X M]KON?M?=[[K[77]9QS7 M*<;=1TQ3[$,73YX#/U.;_4VMOV(@D_F4?1O-F5IHW@@UU;D5HU$=:[9KH_$= M=^3+KP:;'@3,F:%9A1*8I<989G6_49L8W!X#V0(J+,T+X4#NVCOCSO0"XQ02@"'F.G)E*J!C#&OA$&C[=7/< KFD! M*)$1J\[D(#9'21"7.8_5/XQM!^T/97_&0UF_7[9OH_K]/CCY/)G?_ M&(W'SN#ASIG,?AD^.:.'V>#A\^AF/'0&T^EPQO.@;9%PR#Q]@\308/MJ9[%% M!/Y^^E#*>,<\U099"MVMK=G'?NQ>UFTOU%5I>S1MP%P2: 12*$.M)LGJ@BI<2QQ 7OH(%6 ?4WZ,< M<*P24 M8OKBNZJW)BIH .I3#H -#4,165"U9D<"H]_J' F_%C_3.@?TF2C+$UVVR="R6XH ME[N$L6X4;N6ASPDI.@XVTB.8])]O(^_KD:UN4.A]OM<^WVN?[[7+#5:?[U4B MN#[?*\1\KYP,@WRO!3 5WE-Y7LMT&7[22';,J]QC <+BE-?@_:%H;0!@'NR M!B2DHM"JK$KLQA2;TM*]6"](T-+&M#0C( N_Q :U4D\P-JD59T )J9?:K%K< M[]50A_96HZ8=";([@,9Z[?S&H&%^[*]SZEK'\[N#4"ST@L)^YF?T0F.+IX(6 M-*4L]7!\\ J,/U.YYUW?#( E+Z?(AG+5I5AX6@.RTY1_,FL+V%U26(\Q"#IK= MPSX/B2:LH'PW%F=KBYNH\GR I HGFFXN?I.F%B=VJR(WH=UNL,,=?HZYO&\I M]OQX[\ L'M(2@,FR17)3GW0<02/>$7$KRP_5@1-^4ENJ8- $.E MTJJCEZ,J2EI8*6:8KL8$A?(%X1@"@/M/QTXAWE;5>HSC&-.=651JLQ@4@)/. M5(G%!+2@N]-7-E/X5)S<1((QSFTR! M9%P'<6;CT?$<&>6V]A@(P*E,KB^%XN%'B%O.ZN$F;&Y.7C ->;G[>S]$H.WPW\-HS5V_;G/ MMFC2BF9R6$ 5S40:M.>ZG((V,@^EF> &1<5O;I>BB/R!UVT_%37+Z3BZ9R M5[;KIAE+JC*%G9NO)YXT4+)6Y'[K?GV0^+&,UX<<\G:8*M3_DU_MV_T3#2AP MT)IB?F'L6"4K*1>/?K=LQ 42W['Q"-'N&8F^J1E9_-VRC54QLHBHW1LM@1D: M:[+,:=I8RSAG1$OABDMN@\_O[5[1'2!;\D+IDQ5GOAKZ!GK(^(OIO13RZ"++J7RJ?EI9$!AMU*; MD1@%#S@>XQPV>DE)FG7J4+IJ7CP2LKH5R6Y7.@J%Z-PE>$;2!Y,#]X_$CU(V M"Q/T--)MIR*MZVQICFQ "U<:&QWMZ)\D<12CD+\_5?I<],TZE6Q3SA<]68 D M)R!N7^&KCAM&U4FG4FW3$Z,B$HZ,B\;F%E&ZTO@SZ5_?]J_LW\NK^S_5PO.)S_?8>CO1]#'&;SP(LQ!"W,EN_A@PE;Z=^A5#<0S1GB:EKV-\Y MO1%H@%Q[,T3HJ'03RX]7U:1#(T^C7P6STZ] 9/4QG3U^_ M#!]F4_;#;ER'S)W=R X?VDG'AA\= M!@S BV^B:4>%A(2DM+!_.QYJ$BH<^@I@ ,=C4R[K2.F R[-78L[E'#" \VHM M+N=(Z8++#+J$-A? 1P3ZW$Z3PR095;G:15"6O.O*O 6+Y]GZTLM'EJ_H#CA MYZ,[IDFI6S_-=F;F:Y.V!;4\E'"O20F"SCYZ$XZ?.K>/*?B MM'O&10<.1S@HGM#D?^(DQA52[3-@?L MO:_->%_;5XK>D=L[!@G@IV:PGE# $G5J4-5#6 M80%UFJJ3"@C;-XF7F-XFE/(WVU&$8W%=3STX /NGU[&\2.2DM.#\3P?+1GD@ MH9N-*G?^*\$!>"O-.*TGI05.#UR7)M@;L],GC[WQ<72KX[:V"0 O8PF.:\EI M2[]S(QHKN;(- -]A64U7T@/D'!+M=R3F=U["-@!NOQ2TY(U]FWNP<[Q2VY&8 M&6:M]'=@ ):>TJ(_I0*BNSC%;5\0;3+?%E9$P2/)TBH.N=R=_;"(F8D9N<\F/O+J'LY/K MCJ/7'[ZP<^DR>L"R2*ZF.@=0:Z*TMC1%.\ PEP(Y5=[M?31^M\>'_U"OC^^ &M\A3>ZT(BIL*KX]VR+[2_8<=Q= M\@AV]O$544]Y?:QN LJ[;!9"HR8(B%TRO^6!=;=CZ#1Z ]0J_?E_ME\N?6>E'7IP6W5 M+3?FA31SS\TFZ_3J,EQD82F#,!^Q5]9!=WUUFEAK/!Q,A\>)M,AN5 >EPSHH M])S@,#!\9]T8,\0S;M[AR*7^6O=<3-GB3YP-79:Z5\_@/A_Z&\F'#C>-=\E\ MZ)#2> OGC\X)HVUE+Y6W&3W%RD(*$W)^CIK]4IU2].0OEO%D_C7*X@QEFS5U M&P NFPIRU1 %:"M>0'0?5K9]"&$673;V(S/AUND>@->GMA[4H?]<5*:2(H!P MY30NWC,0VN'I33FYY=L!<*DT)[H\8>"E5TYF()P9S4D*DGPRJHX6?NQF[JCTBTZ21=HKX1,%7T B!AM2+0* M(F%+^ F'^!4%I>=IKA6 2,[&)FB.++O>X"< MGSI^GX;CP6QXYSP.GF;_X\R>!@_3P>UL-'F8PO?N'OSC,@[=; J_*/R^%?OJ M=M*:H:8(\BS3 1@?3[ 1UE<*@($$9(:'E5E4FJQ;#0_T+, M4M*(WQBB<#,*77EDJ!040'"H7%WV(:%2],'H>4Y)=.YO?3-K_F]3BO+*7M&^ M=>X:ETPB"=)L_Q0/OZV9T1!633-I!<#O74:>QG3!.04\HDWZXFL+,B/-B@%D"J;*'O ^G.:6G MP\_\P9US-Y@-^)FO,, YG?.V7'K":T+Y27T4S@E=;9,Q;7\T.^65Z*E;D[R_ M$+M)(J;K4;1%)E(I8X3;J&/L1S'UGQ/>YV[%DW-0!0U@_ZWF MI@KYSN/C;ME!C02^EQJQ=(LBB>.4 8))0EW33*MH!" 5H6E6@]J/"54KEYSK M(/)&?V$K"_51L-]W,D7BR"F?_^H:68XOU>E5?J74D0(CKF*WWJMS>LN@+:X5 M9<4AI0'"QE%D:G7^4+.FUGRB92@3^T5++$/G%S#\A%]PF.![QK-='H%_^/'R M-HEBLL)T^,T-$F_[](?]Y\G??%7J"Q/Q!UV[_ M.B6!+*)&U0" X[6J&%5DP9'69TJBB!W?YKXL3K0 <"#6E4>!3HL>T63YPC_ MD?#+DQ>^4I=VAGX\C7B9?KV9#O_^E?M#A[^F:FDD N)$?(27\L@E@87@ MZM1IED(4(,Y$Q0.KG?C*BX"3)H!,#HJI3E<#)@08[?&X?:6+1>" MH*I<*8/NW@C)#G^&1DA*"3AI\#\I5N^5#-K!L%$:==-)Z(BF5C*T4CIE)\]D M_1BXPW#!4, \_=>=_^)S.E4Y6\U: K!=QFJ62^5J1ARDW:S672T%M^>BUE"@ M.E._JOEQE/MY[&UL[+U[<^-& MEB_X_XW8[Y#KG=@I1U"VRV[WM+TS>29AI$;^/_QU?MO MOON*4-\.'-??_,=7AWA]\:>O_N=__A__X]__SXN+__KP<$N\LGGV@8NIY'/H2NLZ&$O/_N&_8_]A]R.WWW_W_8_D_?N?__!O/__X1S+_E+;[Q$1;NW4- M/=?_[6?XSQ/C1YB*?O3S:^3^QU?;.-[__.VW+R\OW[S\\$T0;EC_[]Y_^U^? M;A_M+=U9%ZX?Q99OTZ\(:_]SQ/]X&]A6S.TC=7]]"KV4P _?9KR4+>"WB[39 M!?SIXOWW%S^\_^8U&WT/]; MGV[@RP0M?P(MW_\1M/R_DC_?6D_4^XI R\\/"Z6^/Q5H)9VX-EHF^K9/=>)S M5>*F:L1F5:CZ1E8L_FFKKT7NV50Q$:30]Y;]5-"/OL;4=ZB3:@@L*RASB;B[ M V$@'=@%>AY$&RQ*@R&B]C>;X/E;A[H *7^ 'R[@!VXG]LO?+@,&D_.G M* XM.TXISPGO:>@&SK7O7+$$H4+UTW;X';!4LU/W*S3"[7SEHG9V/4&6#:4. M <(C#J"AY4' MW1,-2_0N:8+7]53ZI"YW^CE.5U-*V=;%'JE]")EGT8C,[9@ 92)(C^5B#W3C MP@3(C^^L7=DPJVB&W=7*]2JZ6[$-9I=32-K6[9+9:4Z5 -FQ7&[AVT'(8)1/ MBQ]C-K1?!@<_#H^7@:/VP+I>V!U22^NB?U9VP>RN>H)W]-X"DQGA;$@0DH05 M 5YCN?3*>ETX+%5PUZY8XJ\9M=7ML;MQC:9%!U8TQNRZ=2)W=%I&GA3ICSS> MSQV'&2VZ#Z+8\OY?=U^)N8K&V'VT2L>B@Y:UQ.R=E?)V=,V$]HP(ZH21'Q5# M$_[)/[>N3]_7V>&D[43\LDS#4K>4&T[ *TO%[>:Y=J3_FS2;@C27"]N6+0!HR32 ^LA_R+'<9WH?!L^O;M2/W M>?.)>*1"SU*W/&D[ =]42=R7@V9SH93#\%X*,3$/J:7()T\^QNN%97ID1QJD MSW!Z6:F$;;V*PQQ0&RD-A.-QWOTV\-5KWB5-\+J22I_4G4X_Q^E22BG;NA4G M2#C%T>:^R3K[\?WW3RLW]LH0JJ0)7M=2Z9.ZUNGG.%U+*65;U^)42+ F[[]_ M]_0U2>D/[U^KT(*3SH_'W5-0INGIYW@]JU23U*T*'^+TJ7(16SN4H$8$N?%P MZOK5WC*)J6)/3M$,KU=5Z76*67(;G#Y6*6G'K> C2:F.NB=W>0A#ZL?B> /$ M#YM!'"+E/$;9'*\+ZNA9G%Z6M\7IDEH2=YQ>)M1)1IX(^N/M&\<43FJ[S_3* MBJU$G(I-2$5S[#Y:K>?I%G%96\P^6B-QYTWAC#H<&K12IQWSQ%9X:<5T$X1' MI0U.6V'WR%*MSH]N94TP^U^YH!W=CA,E*=6QG.UQ9WG>AT/D^C12C]6GK; [ M6ZE6168$+%BJ5PBJ.V%W0QV=3Q9Q*GI@=E,MN;LNZ' > MA#.9$<&&2'Q&\V0V00\M;^$[]/5_4S5FGK=#[Z_EFIVX:+$1:J]4B-K5$059 MPND21GB$\RIB7>C&C6S+^RNU0O5%XXJF>/VO3K_L3(NB'4XOK)6V]5F79&U; M4"9 VL#%XURO&_:7LB4==4N\KEBCW>FMXY-F.!VQ3MC.=XYE1^2DQ_9",6?2 M\\-BVZEX8HF&Y;XH-9R"-Y:)VY<_)C491O+(.6/M<,4\JVQ.<_HY7L\KU23U MML*'.#VL7,2V7I51(T"NJQ^MK>B)W$KZUJGD\N[J^N[Q^HJP MGQZ7MXNK^8K]\F%^.[^[O":/?[Z^7CV:\/EY%-$XJO'NLT:X_;A<)]ECBRWP M^J9"SM80R\F1+RG!_^_$XWK1)Y:K=HZFE+G826:)6B%TWG8*D:30\#R@3AIB MCRN5N-T\<9:=B4,19WTKF2IG&0N[2RO:PO^O_W%PGRV/"1/-?>=Q&X3QBH:[ MA?],HQ@&]-,Y:BL"N .TN2WDJ-7OC3>46^C0VO49&Q;=[+]$XC;CM7TYPPO@ M2"261N)^9(MP]6WX@>8,C0S'M@U5?J(':E,FQY-'[VAL1/B)*?.PGG-0HS,/2]X@<<:R!KJ1X74<6-R&T3Y^&YF4!_% M'*%D#I_&<'O.*MC#"0Y/\?K@$2OMPIK\RY]^_!-'@W_YT[_]<<:(1'O*3UU[ MG??NVN ! )W/R!Z9A136/&F".][+])'C6_X<;SR72MG683-B,\+(&0G(0?1Q MZ3"I0Q!;WFC*K(";B<"_#^G>$O#PJ*#P@2E#7$'G%HW.=K.6^$-M0I9VSHA M)TE.5L&,!-E@RMG&5[]T FQ:L54;5A.)J'[];8PPJDL'^]6(YX,((N@^#/8T MC(_W3(]X[CNP3K:']3#U/+&F"^[XTM&WF#.JV^.-/BVIVZ=7@OB,4 M@;FYYR@ZR\Q4\)]\FBFW_6K[1W@!N''('!>7$^]!JW5%7?<-M&_ MN(=3WP]O+#>2OOT>2?"PE-$0<[=/W<*LBJ3=-/E@> M/ZMAQ82R.3>;@N_+RIWTJ-EC;(7QV+H]T8WK^X#Y@VI8B_E#>^#8^W=W##)T MM_ *;7'#7*6&BHV\O"%> *P6MY_MO)RPZ1V]WE4TO9E7N?N"/JB*.ISOV^$- MFQ/Y>KV -.8&74\[<^;"X-:UGER//WD-)]6A]- V\!R&";"C$1]K[E8UZ(X[ ME)K:00XVW;YXP[&Q!FW=76*4[>3%1]/7M4RH/R.?Z#__:?GP?F)B!7&9Q0II MPOQ?DP\,XX+>+E6Q)=YPK)&W\QVBA"Z.ZU)#*;D7= U%7WB@SCG, MJ$VA;(\^!JLU/0G#\L:H([%&Y Y^"I1)V?AH*AX'5M7\F AB9-O[FE%9VGX2 M4:G6M"0JSQNCC\H*D;NZ:GXL!4E8#J!KHB,<23$X5MX&_@9J'US1IYJ* .4M M<4=BA7:%.>-Y,[S15R5LZUDBHRE*= #5?*+XR8KAE<6A+MW63A0'4#55C3_* M)\Y@>Z!]#-H[C!&.Y1SMJ3/^&-1*3J>4E0Z0HXV6AM;MFPR@6_%VD^$L5(:4 MVKU\96/D$5>IHVK@F\)V?HV\?0U_^8%)A -AWWJK!KZ1\&88S03F% =V8T>^ MB]=/4H0]UA\ETNB'&XFT-5=?K2KIA!>?]$7O[8I5QL3\0:3!E<_Q*CBY<]4M MJ["=D$+8_OC=#S^\YZ$+?\ENI+!IOY06G=^FJFV,,TCU=(3(K&YI-AR=Y,D% M?J.VT1?30UU^V.I(R^(Y9Y>,9C"Y+/PY==,CL>(X=)\.,:S[D#B 3_F/CKMF M[2G[TB+RXL9;\G>6=T2.:X-Z;$AC0QBX_3=#1'@9L@ULPNQF%MQ DT^?C'T+ M;2P]92\P- 7B1SME_;2.-*LZX,0V?5W/#C>7MD:<W5SO.&F(W3KG9^<-C_+6Z!NZ(+PF/K:,G7R[BZ( M*?G3Z4WP4>)V17?[(+3"H]8E!G5KW/%:HZ4..T3N#6PTI*%\G5@Z'T MS"\74&-W"$YTN[3"\,CP0:QJS*7UB55P;U5,#]O0F53DZENF(J;KB4PFVANH MTA<.P.,R@BE)5]WF)RMH@C,&E!C!/O=ANJ 4P74H\NY?OOOFN^^^>T_V5DB> M+>] 9^3]=S/V)_@_B>#:$LL"#O$V"-U_4F=&_"#]JQM%<.8.4H3@$$*DO!9!RO#"=8 RH>/&NHKD\ ^8A@<\5_060J6(J=-(,=U2J]#J=A,MM\$:@ M4M(NT\_ )YSBC/PBQJ0%'VO,//XVD((5 _!/E2/P'[Z;_?''GV8__DD,J_#K M=_\V^^E/?^IM8"Y6$C8R3,\=QQ5;E_>6ZRS\2VOOQI;RM+VR-6XHJ-&R<-^C MO"E>8*@3N/7N>4:7 &'B^B0A;>:BQ_!JPCLT%TQ-NU3-L2YAI;7)^887P[ ] M2Q*H'S&($#=2X"6_.QHOUROK566KQE20AV\[JYQ/VR@L!&CAX-H)\X@10A6>2LJU&GL(M&-]R@JJMWDX*,> %76_)^"S":/BTX MC*YG1PAG9'=R+(+; $N(SSTO> %(O0G"J^#P%*\/7EKNZH':U'W6J/76D ;N MX&]ED<*J21,">&&AG1J=2ZSEI%F^EHI UD%(+D/JN#&!I0C#Y7/,6":4+&,5 M+.,D0L KC;RMX578*^F!2/:S1^$'AK=SZ9U(Y6.6]8M47[:A8T.U$ M&S%J]:UA'XL?LB0SDLG"$P%9FADY>7EV5GQZUO3JL%F+JEZHU7Z:%L%YU'LK M7(9LXLQDY?OU]S3D)UH4MM?OC1O3&EJAXL2IJBM>1&JJ0'^G2QDKPK(#P4P< M5B&,G:CWCN%,Z6"V.#E).LL/L"# *YB-,\.S>C9JJ37I&)>I75%K)]VF4R, M*P7O+[8%"Y+SP!#/O>M]%L=G)\[0Q+,X!-C$3EF/"<9Q4=O:&!;-)Q:_)T+W M'KL&CXT.J:\J9MTR=?5>CUQ1W<#[167-Z8WEVXB?#]7//#-H4>T 8;)LZ2N MYL2YNL=D@EIGPES1?!)!W/N$L1B\.";)(^B+:79\IF[ES%C=>F*!JIX1*YI. M*$![FAF6!2>6VY-#*(IE_GNF9OW>Z&H= MFAY4[?/CT^2=ZR<1/,@]#K M1[*\(6"QMZ-A]C#-/(HH^Y^COJ/=CA+N:.A@G>)5S,9D\$91%V7:7];D M/ E\.R3E*IXK2/G*CRBEK(W=VC9A([BH'EF>J<+(4;Q$->0N7UF%_%Z"IPX/P6:DB= WU J.[BZ&ZYN M=*[A*-'Y,0RBZ#X,ULHJ"<46N..O1!LYX*2/\498F9!M?8S3(H*8D8M[_2NS M+U-FW*?SKE_WU&>C<\T\KZH][C"JU;3TB;S3QGA#K%[DMCZ:/XF7DC9=U',, M76E"VDB5$.HQ'"KQ=FYO@LZ0JG!1&N%<;0[XX[79C8H5!C1ZHDW MDAO*W[I\K6 S(PDC<06LP"H->#.5>TQ2U3M M\,CL ^77,>^M,#Z6#YP5S7#&49U>V9.R)6V0/R9;)7%[=Q,7-1J5CD/QCL$JT7M;]YK9+FI?\5$8:@ Q50W MTRXO[EMGAT++B039N7:E898WFT"@E0C;/=0*Y:C-QML@^KF=9UP!ZJ>SH7,M[('WG#5E+O; %,YRAIZ4'T4 MQ=U$UR1\OYX1GQHY'M$T?J<;NHVB=H(!.YS+CAZEM3/8X71-5H[D]-=8;.;3 M\_3L?F,;)7#OPHP]T'83)JU$KZY5&UZ\L_P]"Q_6M\+B(Z2YBIK+AQ'+ M-X'3O$&9L@S)$3<^C&#M\\LV@[##BU%C*-T^I9;6Y?*+"4) DDM(GKB(*1!R M(?E\0Q**I%(90<<)6#FQX3X,GMT(]L2ALGJ2%,4@D#F\9?9(!I,/U*?J$];J MUE/ .:66YQAUUA0[OJ@%[NBUC'"ZPD#>);3[38":K"X,H^H]JI"\HW'MMMEI M&]SA5ZI18>HA-S ;:O5Y>*FL72Z\E>X>C37U'TF=42(G?6HR+5-6LP=6T1QW M/-7I*8>6JBW> :U6XK;.F3V2FM77,[VI-9BJ>1P2E@"+XA,_8PC)#U;DVIK6 M2-M.*Q@+&E9%(F\XG3 LBMM?#,X(IXPB_OK1L4P?(\%VY7J'6%D93]UZ6@%W MHF55R"5-IQ-TIP+W&78);12!UY>>Y3J-$GR_4G>S9;SG+.FV-O3NL'NBX7)] M5E>J)BEM009WN+:UBQS'36G@#?#6FK2-B)0A23@2P1+J.9Q7E\] P71B;,Y, M5F*F\WIM1O)G74-4Y=5-:;P-/%'FX8T(3!])^LEI&\*(N91^7+,,IJ?&RITA M!U #)+D@3Z:F/@IC),.9;E7BYE0FB95U5M% 2Q6)R>%EK2+C)E[#[*Q5EOXU M9IA*)'$,SD['MHC!6>MEL-N'=$O]R'U.#D?_IL1V)M@(,CXS<@\CD/WZ1!;3QXE<0"WWJD?FYY] MCF$B<2;:+AA*[-@8F6=R<4KTAN_LTHJV-U[P\F?J;.A'R_7AC^(XU0.U/2N* MW+5K\U-6\S4SKKJ\FR+;P./9X3LO@)K37Y,-$X$ECCYQ M:.@^B^IF["]QR.O11/P4.XPU\3"VU+U9@\B:P@,]?MXWI':P\;EEV1\#Y8"4 MM)_$L#3T@/3[&8H&'81^!\,/WH%GK!%'_V O'N.>$B:6\_=#%//AA)\.%D,. M T;OX C@]+.S5E,<;P:SY'P7'-A4+LSH,VOQ&R:6;1]V!U$*K&+0899E$T*: M'!28Q.##;7=F4+_BO9F>6;RQ(4C#GIU&H0KZ;V@@TM'2V%@D1IYSU/6'>_>F MME04)@.+N[F'? Z4Y.XP#+6:^!A%SALVM7$W_N4A#*EO'U=Y@5@P%_SF">-E M@VZZ[G8?A/P#:;UP%8C5PH9?XU R3!-[!_U&=,!Y$ &FA][#FF% >$\$)ZGD M1!)=P'@N/,FE+VX#)#HHM@-0+8/A_*+2;\%.OX58LKHTA4$\0YFV83&-LA"9 M_8^;^E2G.1(VM)KNQ.--CE9-%1MP_#$\C'293(QGP>("2S*%,'=/MV)_O?F. M/'K T=!6\W )7J#0$=K081(C83^>/6I7GHVG(@VV.0<_.3(%O.C?E@.<%T&- M1@/HB.^4R,3/APQT-$1LSV4'1"I62/,R/\8+"G?9KQOP;,.;!,NA8/)M R1* M:)PP)@YASXY'%W#C8=GJX.EZX.#;1(T93A,[^[-UVPV@9MRFA[,]ZCSZUD[) M5LY;V,,9V?SZ&S8XIUJ>7=U??=X?4783X_+V\75?,5^>5RQ?SY=WZT>R?*&7,X?_TQN;I>_/AHJ MM0IZ\_JO+"7ZBM"N".@O6U.*KLVI((W6CKH MTJ6.(Y\$I4S)TY&\ [YL7/B:9*Q)SMOTY4D#5LJFB1&!ZN^E9C%RJY(98>W& M%76<"PUPX\&Y+G*%AE',\F%*7,$H;MAW#SB,I-0 MXB2,N$D<,)7XNPV"M$ +VPDI0,"/W_WPPWL. _"7$W47_C-+8(+P>&*K .0TV4%0M M%R@;XP[;:AT+IPA*6^(-T1IYVWHG)WO!Z9)[ZPC9#)F'(2-&D[OCS.BP'G9= M>B!FG!@=2O.*ZVQ)A$\'YX1"Y/HTBIN 3FV6 &.)E[0W[%MA/D>LD MKVM+WTYTN84?%[[(!Y=K19=;UWIR/3<^OE<8>#SNN.%CY&]!QJ.16.,%N+$- MT/H=DD1.(@DZ(SE?4F L@VG$FG%QX3QX/H53=9V13&HCJ#N5+^2!,;:B0\CY M@T'MW*"VS-/0L13QWOE-$%X%AZ=X??#F=N6Z;4T7W BJH^_)819E>[Q8I25U MZW6 A!#L"E/W&8ZTS)(I$H&]TS05(^\>Z#,+8LL[K1<\VKF6X8SP#O:-F7:P MG0T>]K78D 5V?'E+W#J$2X=6:JXP,Y>)0%?7U"E>SE1?(FQ& 3<,M+"&C H- MNN,%B39*=*LUKE$G++OE;*X"\9AVD:XMKQ.KT%=;)&&Q5#WM'5S8^YJCBK&K M>"6G7]*; MGE 85)F_3'#1R-+7%V[TVG,U[0:*Y"MUMI9>?'Y,O &3]SM\I& MM ;$?X(%)F!@X=L,KB)Z1<6_THFX2VOOQI97)A6A MW-V>L>;;\O8_#FRR KF%F9.BYY9*IV;YK%+;R*5=IP8?:OVK@>.\WY0@HT+Z MGL&B9-G"T 1C%"O,<2P[G.N:'DAAP*1MGV*?J45VB<;5(2UUF%(LEXG=$DF6=N>^PR93F\89EA[-J2%0"XOI32HT"$X)C]JH-=0T))%!PJ5\.4.2 M \DZQIB6RTRTETPD8,I3&@99D2"%81L1P(U"S6W1KA@07GQIH<.(Q7^,%+L? MV21:-^$1 05,[Z(^JHE5$YHD<&C81@- *JA,#DAT=!D(4#+6B,IV&+#2:36Q M,K.8J28FKD)$JV ..SDA959AT!+.(F<+(_!6CYL@F MK)VS<_0C17-;M)N8XATE6N@PXD04T\K64";A@\!!6(%76HGPKFIE1:ZZKFI5 M$YHD:&C81@,\*JA,#D1T=!D(3#+6^%>UAK32Z:I6F5E,U1=>0 M/@?>,X2I+2Y;KRU[P$,"SS1\"G!H7M3WM-K$*-#T0/?)U'"YUH&FJO:XH:E6 M4QF:E(WQ0E.]R.T+?:24 9&&A";]=:WAM+T/798T["V/Y%K[#4!J](PB+16\ M7$/E8 U(.^N .W#K=54E%<76>$-70^9^!IRLJG129MIX7C&HMDR2'?$"RS<2 MHC)"501F23/I/U&[4$6>$-=<]*].NU0MYT?9F.G2(3R:]V+W=4K$>'1SB M-13=X*.&F[(F>\&;K%/FXY9T'\T>$EYE?$C"*%]$&QG&1C1!.;!5^(')8R\" MS-.\B3^_4;/G6]X#)P0VT+;L#$M)<[RIAX[0G4^HE+\G8_@PRJ :0Y7"[%T8 MKG+;IV%ZB]D'ZO'KD\'*>OW5C;?;P(-75&^"L%%M^ [DIA'M;>U4!@5-:>'' MB=8:=0RI&7\K0N(X(S75ZPW#R^B&$J]J\"O(K@\'GWPJRAN^,.Z$[O9><*24 M1%#W7BY_B&CID-EC%_B\,G^C99MB/^0PHZMY_7JBU DQ<&B+WO_JHN!".!M$ MJXS#*1_!P[:.%1Z9]FL:?(>&+Z'+9,Z>K^MQM43.JI(W=2IF!YI= M<$9R$WVSM9&:]LA7172E;SUVG2V"L/P9,F9X-^G 'U!RW)"-9]Y1#&>P:N)D M;RM)(6_Y_&)(?(18.#!W'_D)O*$M59Q3I>]JF9Q7C:)VIFJ*:^;G4TQ5%TZ5 M^8[&VH?4$B>H:6BG6.M(FR%.02J$[24.4ZHFJQX-H61&"3*&.'2?#O'9I1ED M9Z,5UFE$ '>$-K=%NS/0>..YA0XCGGG&=(%B*)/P7.W=(36#7"0DVY\P?)WB MFB4*=KQ<7RIY<*WO0,L MXERYT3Z(+.]C&!SVZ;OC\.S4@3I)-9; 5T$1"L%P0QP*$YU!IWFI\$(R(MNT MQ36A N1SJ1($M(!=6) L>1=#$G!&$]9,9)K M9F3EZDU]H6>O_S 6XOTP<1V6S"QN?P]"L,H MOOC1A< ]%)GY3N1A9UP)\ XQANS0Y1Y@/V.&D)V4E#R5QY/BH"64,#(5F=KW ME#W*^W;&@B&^F;>-U+T#[QO%432P. 2T[3GX7/N5YSO,FZ\4HV:$0AWG-1%* M#&>>Q]@*XTD:Z(EN7-^'L5)EIE&0_?&PWWO\A)+E@;10*V#ALRG*3CRG7EW< M0[\W;K1N: 49ES6[XD7@I@JTC069C_2JI\3*='T.(Y: Y08OB XAS>KCB7H= M$F=3S_8%.\K/\=U;KG-'*U[Z/&^(.][5NIV\E7'2"F\45\C:X54+1I*(DYQ ME%=Q-/5(1=_:\4CCYU/A=(\K=(V!@['"? N?&8+E(G7A=MH*>ZR5:E4,M$(3 MS%%6+FC[$!/TDO"Z?DW73Y(G9/EK\6FCV7AO/]3'8[]V. U&0=W(V0[FT$R8 MO-:?[V3;UHN8[FK+W37HCSMN&UNB<+!#MS/>6&^N0NLS#(*35 3IHSY:0[. MS71R/)XY*M)C)L3%996I#%>U2V";/^GGN#&3&O89^9'A#X?X+HC_2CEF*AW$>+T0Q(D0_=DJN\S2B1KRJR[]Z-8YIB!\XK8W.L>]\H+$8HR]M'("%LM% MX!>'22J$N!!(5NH[L,,B-2:K=?(S(]LG+'1YJKI<<[/ O6IFZ&M^Z:MN\T2S M+TX@;V6!PL:)3D>\25XS\5MG>,N[J^N[Q^LKPGYZ7-XNKN8K]LOCBOWSZ?IN M]4B6-^3QS_.'ZS\O;Z^N'Q[_E5S_Y?-B]5>CP;""G*O.;FFCB;AW0:=2/^8M M)N"P13E;S])3P["ZF8BKN>/PIR M+YEIB[7)RABKZX,[WK0TEF.OL@/>.-03N_5*24:= MKRM=P+I2LJQM-$+'U7J1:6TD=FW[L#OP>GK+>$M#&*E#NJ5^Y#Y3<5*I.HX; M]$<>TTTM48AOW3"21,2>..YK2(=KJJ<5B. PP,RTW\ER<+J%V!,$LY&%E7K*G5. MISYG957."=3B'* XI:%"_X.4V:2VQZ:89NXE0^A"U5[J7!V@Q*ZHQ?&+Y1WH M'7WAGZA3.KV^N&.KD06*B9]&1[PQV4S\]@D4[&H(-D3P24K;S AG!9<=7T0# M4V]NCV,)^8D"6VR+B+-U; !M6L&?'[XV_\B0PG#\J9.H)7J<=YXD?"ALH($? M)STG!R J^8= $,$++X3T;8N!,82\ SI<9B.+27/G[X$?I 6J^1$S!1QH^NS85YG]@)MGXG H'<^6FVN!L<6/86'8O;CL/RQ,O;HZF M>>M5YOO%9>U#:[.\-"'<)H '/X@DB:'=<>26Y<.^)VQ1Y>\E;]6]S$, MHE;I7#4YW.#8U4[:*5\%+;Q@UEFCUJ'$.21Y89X)UJ+6$X6ZT+ NN:;\;JJA MK0I#9KLL9(TBJ>;I87[C2P8FLF=\,.6%/;UGVXTB;L#JP5J*1.WM/&S;AU*= MD*L*HM*]%9Y8G3R 2Y9/GKLI2QK&6@$W:;H">L$]U2WU'!(*,>"H%DQX.5"Q MZ7 '$@A*16W@#O 6$M2N/&KBWT*R58+.G@1JY,V@T%5DH7] MFH8B2L0R8KK>HL"6_5G5Z1&&^9LFQ-(;, M?8=])>*(K>+[&X=3#[V612'O""1 MF5=&\FM^V2&4>RH&PJOD+(KB"]#LBAM+F^BON*6J[(<7S1I)W\=]SUG^1#)_ MSD@DBWQZ6W;<::RMVE'LD%+.SG;Q[,T)//9+!,]0B$S.S&J:*-H'BXZ!Y]HN MK:NU6]D!=ZC7ZWIR54[1&F]8:\C<>O:W^'BWN%E+ZT72Y:F@<D:VA9K#2B;XXUG':%;WV&Z8TZ[6CX86D$H4:UND*KI,CEWK1R, MJMI/RF'[@]F,.*H9U; JFPW2CT'@O+B>-_>=A1\S%=PGC\ZCB,:1]AC3E ;N M,&YE$3FN&Q' &^CMU&@;!A^7RZM?%[>W9'YW19:K/U\_D,7=:G[WPAWME8QS%N3 MPPP%W95J'T4/BU_FJ\4OURS+>EP]?.8/-TXDKNK'O4XDWUQDU8R@[>F]J=CJ MTFHWM3&KA1IY5% M3N\#:1/ BROMU&A]0VCYZ=-B)=Y4AF61RR4_57Q]!T>*3Y^PQQ,9=>-S8R)O M(#8JQ^!F%"8>'?T-&!([/K@6&*(:5\$-=1^CV&^K,@:_):OY?:+RU_MA+99?)^6O-L1=U^TEY;)_'7G@9 M"2CG,^*XHW&#>UBM#0?J+12HJ+O3=M8(=S"6ZR2'7[$%WH!3R-G6V6ZOYX^F MW"R**%WN:6A!WB;TJAL1:CMA=T,=G8MN6=4#LYMJR=W:;3GY&"N/C*K3\B,&/QN5GC6ZX8U97[^)]FNH^>.-66_+V-T9NYZOK M*W(_?UC]E:P>YG>/\TN#MR7+U=6?HS2C,$U7UYS!-.@^O0 8(M-/>!'.C,C< M4*VSC6H25/#P2#>PO/A ]T$(HWG-6%?1''?@U^E9*.&C:(LWI&LE;EV>YOHC M+ >3J_EJCL$]]40@(3GB0C FJP6@4"YB.Z\-31/]Q M8&I>/_/=K9IA1]T<>037Z%D(6T5;Q+%:)W%K]_S\X?'Z+Y_!0^'ZO9G3/*?: MU8XX%>VGY:75HXNJ\73\M$<MGG@CN:'\K4N] 1LH*)\SFHG:I$?R)?G7=)R/9(H["Q[P M ULD*_ZP=@.GIC(;W3/U&- 8>^OIDDG$E':X 'HX4-,%=_3KZ%L\):ANCS?2 MM:1N?P)0(HXNL@=5_3YT?=O=>Y3';H%5B^"UG9!"1/[XW0\_O.=1"7]A4]CD MG?1E\DQZ=5CJ]L$9EXTTAL#4ZF V,IW YI'VP6!J'"-D#$C*P3A(F5*\/W"ZWM$0;B5]#(.7> L/ M&%E^S?RA23_$(-5$\PRH=#HA!ZM&*@P%6"Q[CBW7A[_$ 4E%(D(FD@@U+GZ- M8A>%ICB S*0%3,R5/D=TN;Z.8G=GQ312Y)]GC7!"6K5.\@RHV +OG$J!UL?-?47L9C;,&RAW,?!LZ!:6R%H>7'"4"J-GQK^N & RV-"^I/3190'#VN%4?1,Q?&V%L,J3/7BL-\;7]\(=QYI: MRY%:3.M;D,$=[FWM(L=_4QIX :&U)NW#XZ7P;'*!)3JP&-T\+(NG)P]+%[@: M2>WM+74.'EVNLX40415_[CNWKO7D>KQ"8K)@X2Q]IL0AA*U/?M)J93UY]9=> M>N:!&X,&L6AAJM$G [SH-8R:K:'$+UPTX_"'S+Z'W4XU_'-R(;V]%'X[2;]R&M5^$-IFIP%0SNY3CDQZ-*0!30TWZ M0*24)9%YSLC34?Y#@DBG,#3.?=-SF\Q?7=71275KW!%1HV7A"FEY4[S^72=P MZTNB):Y+O@!I-(X*/X:47@4[RST]&=^DW_2+WJ=KSTC* MA'P1;-JXN>).SL(.PA6UMW[@!9OCPK>_^41W3S0\L4!=6YQ^JJ5A=M]&U1#Y M'9M:L=OOY>S%!7-8$5@'X4ZDX\7K-(O+Y0/)V>K488C3Z(D497XPQQ MZCH@1QYM\0=%("X%$6(068X9N;V]9%@D-Q@;DP8W48WVYE!J5,V1I/VW[ ^+ MF.X:3%+E+CBAK8F^-7E^UGY2*?ZYU/U.7($^X0P,U3,:4N7YY5\^+QX7YLHL M-UACT]X[:D0*=U1WL4_;5=DI;1FUT&;LU5E$^T6&K!4'L>41YNV1ZR2ETLQB M37*9Z9_463@L?777+G62DT=B*<(Y"*EAP]3H MP5LC^4AU&>R>7-]JEO_UQV%1*G4(#0SH0XR:ZR?&GD8H-X#9@!XE*QXD$^ M%!<\H1(+P]AR'YJN(!:VQTW-#2U0_FLN[HO M7H!HK$$?T[:,U8PDS+ Q7CFR+'"33C! F 4\_>&K9AXP0L-128D];FY[RQ\AZ[5*W8?CI^LOP?AI6=%U:59!F.",^R'M6G) M*E1/'":S^M2WOOVN.ED[>+-8#+!"K@N/+^2?K2_/^(R?;P9")L\2^QV(2FR0 M%3ZTO0._4 NK ILPB")B6V%XY'=L^>:@V">TF>7@BBYU,N;BM@I\ZF;F48E! M_(#-+0Y/?Z=V#,=XBS3H:RI%"CR58G]#YO*OQ&4R![M]$$%YFG4)\WC+$A7; M\LD3U_&P9PWC8$.9SB'[FVT=(@H&.!*+V3=R=RXS.1/+%0V.\)G+,IODC3[I M3] Q65()\G?[X!OB(HW^U @^!Y97_81,1.PY,:E(+A91;41].!(N&^'"F1Z2 ML1I9SM*[[S!USKVK]N"DR+]^W5,_TEO?ZT@2YS#>I[T*[SITH(*/,+L0L(5?6JZZ%C: M!3<8Z>A;OI9PWAXOF&A)W<=J I#'@@2C*9TDO_\:L8A^BLU&[2=(V_FYQ>7Z M-O W*QKN6D2R-IFI1';Z0 M[TSNQ6O:<*+9.O+2TO"Y!Q:#RZ9M0:9VK9+?965IRP,3XO'%VC=:@ZSOC!,I MVMF@9,VPIN=DU@)U]6B]QK>E)"Y=YW,3SB2$*(B MZGUI*&-(*\3I;P(,".< MFVD\-&6-0+)&[@1#8%WZGJ>35<]>KD&U.0-A7LZ_VB(ZW2>!=]IV*$&\VKZ3 MP3Q]37I&O8RQ5)4>, &8DXR[*103Q82PH9XL-;26=$N94I=!I#?Y5+?&B:2:6LI32453O#/&.H'; M^CFG.R- V72N,[2J,9%Q) AD9XQFX\G*Y9W:47;&R]X M6>1U[QXH/VVS"KBA&BT\=:2,$XX&L%[)!*X+V3D21:$@"0$1"&2+.0A-YH0Q_1P@-66#1S0 M7*8JV8UN0-8'NH>3%/Y&LMF'8_*A_MYF4VHXAXB>K%2^T]F(%-[,M:M"O<"6 M($XRUC)B\;)W:0LDJ:LQH^7I:Y18Q+%BRP3R+,.-Y2B;-FY4ZM6",D;U0A@O8O6K7MM0 ME*68D8(<_(:"+$E27DG(0G)AR)=4'#,PAL.2=\DMBG6ZD@$W)L"$XC%A_FYG M+DM_,^^[ Q0BAW,L_F'-%#G ^[GW3(GXM("W1G.<4*.K9S;QK6B+?#:K(WD/ M#Q' %I+/68%C[F1F9,^YC3L)'5+MNTS/ G4BR(\_21Q'U[+OU,C4[O 4N8[+ MTKU'BV>:,5'+(@86%<^@J?5$;GW:NM><./:7HC]65_VGAR[]W?O'BG[9AT6D7MD.=Z=5+WE.>I'YW*!""I!"-O/0QD@'.]#&P% MF-)MG&6S9QK./2^(P<&7>_"M4NC1:8\3?[0U+2Q9J1KC'07K16Z]M,0H7V2D MB:!MYBTW0\H:R6&W%C/=(HH.U+F'UQ'N:]V%@4^I$-\PC@0$ MQUN.PXMM\W,<>S=Y+"P.W:<#'UE90@_-X)F>L8NSCV*"D9AE MSPCC-7ZZ/XH%& T&9+(5X N/DD6&B$.HB9SC/CENFJRFI/K#$7O5,F]-%YP MV$1?.?FH:H\W_]"2NG4P2_?=Q>I8%M"<@9$D9%"-/\,)[)?095+P0Z+B@3+8 M(+892KA1)!['7%,J_IJ4#QK$$FRR\A08M,65&T+!Q"!9P> UELT4=$NO]R5E MHPJ/V7VB%ISC=9;^ [4/(4C*&MP%?IC^RK?V^5DNA17[I(\;$WNW9*'N6U_$ M\:)M_RJVK@B7WWGYK>A _C[*!IW);2;/K]#Q=I7^=JY_VFY:O*Z7O-Y49<@M*8V8U MBN89/3SY&4]1&^=F0X:4@";ZRT5:3#X4?.1S]0QME;&-L. M*3\B&)D A[2(WG+=>N1L2 (W++2QAXP)3?KC!8166K2-@I09O[K::/@>*.^H?S=79QD MU,76U?P79$OYT;D=&B_J5]&82"0TL4CMZJ>*P 3BHI$:PX0'ACV A;\_Q!$' MA/=Z2_^E/2;B_&IM2UW]O/D$'+M"Z#Z6]07Y&>$,R'NSZ=R02B<*8HG.[QM' MY_<3CL[OFT7G]U.,SE.A^X_.[_%%9U]*)PIBBUJR,]\9@( O1IT;Y/&V<,)H RO:K9 M!RXE;T_#Q%02*5VU=0BO_ZP\F)R<%P#1")>MQX(KE3;C]6/6#.<^T/B%4K]L M;L^1*!)[,B??RR ,<(;R<+;,KISV2AWYW=1A=&T;R8(,[+C$*6O^ZFD>U)X4 MU#LIJ"V21_&3D%9^$6LG[=IX7.)Q;[GB,K.TEJ? RTPDDLBDV@(3<$.QIK+>5UM)[RYFK[HK5&;2SU?S9SAB[:,LR#?Z[_<7 9T!3V@')E%<9ITA]W5#>V1/'$G&9G MO%'>7(7VI\.B+<\7^ \2,P4 &#HR-Y8Y/@4^/9*=%?Y&8[(^^(Z1R^A7-&1* MQNYSD@@IS%+2#'=8J_22H_>T#=X@54K:NAA"1E D\D9B;4BM7)\-TGP&:ZJ8 MQ9#:627?V3C/N^:3I.93 .W.N*&EF0T*[[9J]<0+0PWE;[USDK-!.C<8WQ!& M9@DYXDB2U,)=L2WN6*[4L#Q7D!KBC=1J<7L8@;+7A@UG#@.IARE]&$A%3_$- M=MBIN@Q\>,B/60V>Q'*=Y$FJS%?JUQIBT:=-C#$ MLOH^N>0:K'E)4R$)_)B+DL?(N)L^)BR3\R0%ICG28UBFP6">@HN82,L^!<]\ M-VCA/\86O,O@S'WG^C6FO@.%K /G8,>_6F%H^?%QX=LA/+%\1<6_#X'GW03A M"^ND&'CZHXX3D0>RHIPL]D0:;WK9MX+MUU"%'"Q?(ZDD?(DYE84DPI!4&C*W M[?!@>7 04\:5GTTLQNH\G+K,[&%L0.$/=./Z?@.=N[QZE[A6N2J7 MAS!DF'W/S7'I6>[9L>G61'!"5#>;Y&_H-:6 ?$K;7I^NKW=8V0%(AZ9YC>NG M>4TRB$]FF=_)WEP%*8>!HD".''WUP&K7% (F:#:'TD M-E>#'*#0/.?!$IP=/WM9R? ;!L^V=W!8@D%3G#YIPQ*+D5\&'/W+R\8K=9:: ML"6"+Q&,>S7+3\(L/MU8,2T=MPQ9)U5=##*)I^')-7_-W%2\(-5H["OIC!/H MV]F@/C<][3FU7%4I_SBYJS1]73-@SJ5)'E@S\Y3).)9B;)Y=>+F$JVX740(> M)C+SYKR]I>,V4=USO +LLCW"W@6S?)>.? 8TTPF3Z(+&*YOK9"R&&C M]/&YJJ<]>F>"&W2&L6GAB<9>.> %L8'T;'WR61*")%(<9VE.R/#O_I%<6IY] M\,0>A,%W/SK:Z[;F&FV/Y'''2AG Y<&W4BER[!D/: M4\,-*AVM)*-,2U)X8:>K0FWC#][P%8S)NUL>3QES6,N5GS).^,]X10O;-#X9 M,]AA!^=[@I O,3QQ4P B\L3=A'Y#(F\.+7)/&:B[R+H=P3#:\$IO'\+UKF*=C<^?LABF$CL":3Z4X5 M-Y[T9#497SJ2Q(LW?2G6-KY2_B01@ @)^(OO8I(A\9^11+(9R44QG?*8MN#U M>BV>22?9,D^4+?,8R7+X3A<_=N$EL,S-,(_CT'TZQ *P^=\81E,G>41^#KM. M&U';7&'J7@CCQJ[^;"?#5W>J>!&L1]W:AJ D0I8Q"?"2I8!\ZBH-T3QJ>2YW\<3M8L$):2.[Q!W7\4MK./9-&S>B]6K!'C>1,!1M M'' 'J:\ZC?UL'\U,U W$9\F+S)32?65"$TE,X-N'0^3ZE$VE[7\R3ZW.8+5P$3JNI,O%JEJ[: M49H&O+2P3AFV-""#'UC:*-,9522FLY.[]1)?T^M.)DRT"F"*6[A//^.[_E"3 M@5>+3%#&R+I3,@N-5D$"H*F):/0Q#"+5JI)&-]P HJMWX9!_31^\T* M>>M! M,[U-%0=ITD!R'C/"N9@YKS^TZKS0Z]YRC60)O))K@A\P*9-R)84]JGO@#EH- M;<\*%Y?RRWA+P_?=TY>, M#NZ(;FV9EEF\(((W^MNK,E(&/R.<+_;LO2?CW'L'AA^8RF(UL$$/*/*F *0K M=KP-V!@=,;!#18\&L>2EU2JHZ,<(L+" Q@BJ90XD( F7/C:^^T_J+!P&Y.[: MA?WXY%VL)#7\& 3.B^MYQ7>R6)O#CCIWM.Z(X/!<)P?%0UB]!KW[9#DIP!]$ M\7['B%Q$(LN8/K.72CDCJ9RSLZ?W$EEG! X9XUM-1O4E"$C>,[VW4$-C'[HV M/:G]"^85594B>"(R_7;@0@B4-DJ?EDR7#$[?F+2$T!/"^%*C)T5X1$M&A;K/ MT%.U^#T2ZS>)]JWLWP/D-^+[YG"_G?9&P%^-^&FIK/1!14GD*<'_N-_%W+8S M=$^(3AVM%_XS:Q^$QQ&^%YG7[P>/SRP\% !GC'X?B'NN+C*(S02*V#+@MT[J=5IE-)S=\W(?!GH;Q M\9X9*H8'.UC;/1RN&N'KK.+]^QD>:K^!H88#)>/?!_S7JX\,[E.!V4\@LEA' MSZ2>/+@/]WVDE+G!J,)@'9[8Z-,*RSU?QOU>+9>Q]# M,T3^/,AHZG=Y321_221C03B/%&*ES3 K>^E#.M]!'"NFXS[=@=ZP96.9]E V M+Q_*%-_/^.]QHK=^;BB/&^IMS#D6#&G\C9LUYA.WU=;RTUWT4=82ZV7 .0 : M_4:&VS2H$>#W,2?1-P.RN4DN>+8:)5:>8B9\=O1G\G.4X;\?R9!O ^Q'VWQ M/F\9WK9#83.&&. M%0]LC2W#[P=DM;^1@;=MU0+\/J!9WPS(4#O=II4^G)'L#%\B_.13X^&_GLQD M^U*3(5G GXL7O:4/AEYY*N6($Y]'M/8@2_?G['Y'"_<5RK<.Z6S)WA+$RVZB M$"M^8ROU UARJ!E'\K5('TY[F7X()SYW79Q#TUW@GX_2Q7V+$8>MQM+\3H:T M=M_2(,-=,U%^1T-A2\-T'R:]P-]<,+3!D:U >.(ES8,/E.H;W0WQ*CM1B M/XC;GWX0[BQ/ZFT?;8_.B"MHTW#V=H?=D;^U0;;.F0YE$\JS+?4W,V"/_*7= MZ@38U!<9KZBH$+*R7M4#_JB,<8[MX]M^J#7$%YA_KV@\(@3_[G!W F [-+Z.N:O>I[G%UGK)6NR$4+6N M)%._7XD&MS>)JKI6'J'"VYM#56V%45=TFQ*P#FYQJ'"'X,32C>N[,;UUG\^/ MM&9C3'1OA?%R76+)5<4YI'XHXX;*'JTGPV(/9/%"8)_*M0T^(<,%%^+\Q+J4 M+L*IG)"OMY>NX7[AXIS6IS0=N!^.GZR_!^&EQ_!E_NJJ9HW-*$PV$%76T RX MT^Z3#"RE$@,%T-.1<(:$V*,DM'_"BK;N//M'=$PT5YJSN M@3LL-+0M/$"E;H[7W76$;OT 54*;%(B3+X*\F2K>H^@;RL1-Q.F*VEL_\(+- M\0.3[!S(JB)6MR_NV&UD 3F*M3KBC>=FXK=>!A5"-*3-HCC425I:Z?+"!H.L>$4ZRV:HC"6(HG]ED<1 M^^5OC[$54S@9^FA3WPK=H&1QI*H=SCBJU0P"2=D(7R35B]K6XU)B?:]'U+E= MPO:S'^VI[:Y=ZI2N-M2U1>Q^=1IF+JAJB-0-:\7M[HKM9_>J>R*0 2W]FT-\ M".GE87> NZ8CA8O#KK^&ZP]\$PF-54DY_)G.$>/4@W2#"C[ &?&ZPP'QH0H=FW+(Y^H%3$W MA(%BY-R;ZU.:S)Q_BMR;SE.)DX\0>U1/L*;TJ;ZWR&J\ZI/UZNX..Z5?G7Z. MU[-*-4E]J_ A3N\J%[&M?R74S"01@ZEC8K%:BLZ%OS_$*\:KXBA217.61H,H.T_-9]4$?=>MI^6U/"WDBICM52M60!.XP;V,/.>";],<;^JVT:%_+ M++D#47/4^PNP))RG&3P8URJ7?_F\>%RL%LN[1W/GV;VJRS/O%7;2[(H;")KH M?WYM%JX.QA1E(12"(#$4(0D )K.C&@V6J- M,&J=C7E>\/&>&7K+9+P/79O./'(Z]8BHD.;H!+Q='>B8PLI[L>_5FVA/*;&WE4UNLX$IV2 M?5,CDU*YT4>J&3G;D9P*;/5N1!6,S5U.*V2S>']#P(_4UY=8;XL\I?AK2Q7L>+\U4X<\@S[$ MRA0R_KH+EB^FM/*?:MB21ZU%]CU>9=\C"$E 2L+%)+F<*!YGP6+SFS*/Q#>@ M!2%U-\FK-/9Q%5I^)"H!Y:;0?3UM2/Z_@T&OR3?1^S"HP_QW,C V,L44ATJA M(+$3#4F/\,[Q=SH^G;)I;,KMS( MVFQ"NN'2+-9?ZDOR6EVQ>W73?0O%%O5Z(?7SQM)WV5I M$)B0%\:%I&QF22V-A)/!.W9U1JB\;Z?=>=KNK[Z'I]=SNB'0T_T\S2#HO>K6 MYV^B;R*H6@+9+RXMU:G;!Z&I1*VB!& M(95&&>R<-D".,TIQ!P46.^,Z+HKTKFU.<'R,&$^9CEG*#84E)\W\1-48,2;4 MZEC(24I;(D>)>KF'ST/6@K_!_&,8"Y0J9R;C,*=@!X19^$PQL=!=E6:4-T., M*A5Z97A2T@8YDE1)/"B&%!B/BQU#Z%R@.3Y:C*U2!WQ8QEL:JG&A^#%B/"C1 M(\,!Z3/D\5\FZ:!Q'P##I/ZP+1;CQHW^/C7FM,:/]J%5,+F?>UM3U4BC&T[0 M:*JWQMYNU@?OHK^VY /L\=X:KDLTN.ZIILES]KU>9M)]2>DC#3:AM=]"2>:Z MUY1*VN*,52T-SUY5.FV(+RKUQ&U]EULB./8+2W1SJI+ZA:6*MHC=L4[#S!U5 M#9&Z8ZVX_;AC3^59(VI_LPF>O^75(<.C\,GDE]PEDS_\C0M<2-_D#W ZV[GL M?%J3_16?&Y7(UGIM[&ZQNKXBCZOYZOJTO-_ B7V/2D#=(H=PH#=R5/,N\#]7 MOU%:;($S$"JTD7-SZ6-\H5$E9%OW8K18#[,E@/O4I^LZUR#'XGB=L3L:BP/? MJLO^>CUQAU<#[>M.PYUTPQN.383O^QP/& MY#:(HEERE<+,/?M1[6/QDGY8 C^[!=(\\DNZ3B_T5?K7Q?YIOVD%OU+ZOJ-? MNDR%+<"'LT%Z&;#=/O>P89ZLX3UDMQ3;6*R,R(1#7VD3;1 XHS!1.%#K,2 P MG"PK_]-0R>^1#9-J+=T7YO=]+7[5&+8T;>\ 3Z*Z/K\[C %9,BOLQ ;K/0WY MOBL+O^63YXJ-AZQ\I[MC39;K1WA"<")]9!SDYU#?L=;'FVP"KUC@T<8@9$ST,OL@QEBU2$^PE$P09 M [P+&.R/-IQAWW1:J2A0>0.@<&Z5QO"0DY@X4)0H,@)DY%SQPD:/ELE)06H5 MUL$)H3R3@3L?V9(J6HBIRKKN^9L>JD=5>R3_!D"I@1U[G50EM"<.8TTT-#^A MX@#(9,(+?F/8,S-2G!DIDMB80+R%SVS#R![A!RT)JQGA#$7E[L$>R.@8\),F6TVP,LHG+2'C[< %RWA8=)P,$[XXX[U M 6T I"]<_V(OB!L-[@?KY9/%K.):'B#:XV&_]US:+,PU:4PDX)M8I#3T=0A, M 0:J=$#'#!^)&/(DX&4)3)D&,4P8(U=P1I1PL<$7#S:+!4Y>'2Y3A]NKCI! MIFZ-&P)JM)2#7=$4;UC7"=SZMFU"S>09JNQJ>_KH1G*Y.*HX$E77![FGZFA< M\->J#HB]5DOLMKZ;$C-X "@1H;("_FD;Y*Y9IE'!%>4&B%VO5,SNKM9[ 7HV M17$.=EQ1S_6L!4X/JM FJ[!6_!AYD36%L(/668,WWA.^)!).-VZ=M9Z53L@- MHD-UM;5A%.DO[J_<* [=IP,_9LLF':Y=5=.YLC5B/*C7,L,&=5/D.*$A^."8 M(3D]JP1W@17+6KW MM8!;PT>NA]/-9$P]!)YW$X0O5JBZ+5[>' M$;"BD+W_XV'7?J1W@_LB0*RN;4F$F+P#2B5-\6 M9<%;WQM_3#?0H6NHSZH?N 9^Y!UP_-HH"HQ@$U1R>D9#KB>-@ J*(7:QVUMN2)VY;1]V!Q;7U!%_@JC6&&%U M^D\CYK0M41:/M9WQQZJ^"MWC..4U(Q(WDK/C)1&-QOGPUI U=W/-/4:[S^?! MX#QK3&_=9Z:+[RQ\AZ[SORS\F GO/GF45WN,/AP_67\/PDO/BJ*R@R;]4,2) M!SU:*UL9[T8.^>IY3\JUC1^^U.7"&A,)T\5VPB2P?'C!DR3?=+&.F$5BX/T- M66U9^[R-%5)RB.!224 <-[)9$$)ALGT0\O:%)7RF0, X0-CRDFX.WU,W_%T)]H1S(TP DDN0_#&7013, MC/,8I:1MG983))RB MV>+KPVCF T%#KQ78P6Y/8SK?A)2?,JM]O$#= 7>(U>MZ\K2!HC7>L-.0NI.I:&7$S=U2TTX.*@[[-J> .Y996*=Y4:40";]"W5:3] M;964WX4J731WE+C&&+DI8 BO/'#>B-XJSC7U1Q5G'/5LM>Y+4[ M3[P95T/YNP&(.L&"Z_1?4FYF5C!&LH1TJ-#-[6#NZ;<*M:N.#VETFVS(*P\9 MU?699)CWX_JZJ;MR(T MV="OL8TF&"BH3!(>ZG09"C#D4T RXUXQY"=A&I]N@$]+%!G*0E6XHFD=TU## M$J=6V=:4(43267^B,$EHD.4><&* +6OH0^VJV!Y*Y2"V/(,JKX _+GSZ'-'U MP;MUUZJZ89I=IXI5Y_KK(5;>;XJX52+](.@U(X(3 5;(0*Q'&_Q*WVV(LO(X(:!MG9IL-E\1@,O/+369,"3&N\R MKB1E:^8:I4'CG"=$)C!$GE(MUZ?Z*ZQ6VPDW/NCI+*-!=0^\L:\I=^O[2Q)Y M6.:OV^4;)Z;'5!H>7/(C(Z/_91#%HJ(LKX22=NRT"Z]-!M!IP<;0(0R21 %XRBFS+(W^E5@AO M&!Q"-SXB/F$QO"VOH]C=\?T2JPS/UD%(DNG9Z0P$Y^&,$EN)-^@<&B[7XNN' M;[_%?I8^YO5#OF7X*_'C;XO"9'M&WA%LJF[6'K%.*;P6ME'J-"U0\ M)UOZV+:$1K$8PX<_XHZQ)"+T5B#E5QP"R,/83 M0):^#,4B_=\F BB,<_-S)G74WARHR%;J""M ZDT!2T$A$] " DP%7'HQ%HO[ M/TT#7FZ8T7LS7D+LK8&+;*-NV *4WA*T%/0Q@"S ?R+ THNI6,#_-$CMB!,E M4IO+NLS7S"H*R.B!'$[0Z,M.964BFM*:3GV(UIIUV&L^^'PSN;!+ [LSED 1 MFIV1R^M%\(_XO?I-5DG9L^S?H-5^>XQ<6 N.#D\1T\:FHO1#=MQL3?DF$$>F M."!/4#S"#C:^^T_8*P+M&/M#R+OP1>4C -8Z\+S@!1B(!P!B^=-OB#@BQQ\, M@1>S=UPXR__0$VRE^VU,\^3_\(U2Q$\0K&'5PWHQ^E+\^"=7+=]T'D MX_36^@I=6%3D:S5/% MHT=UA7O*6^+W4(5VI]YYT@RW9ZJ$[>*5L^2!+N-E=890\''+$J*+&,8)AY'_ MV42HW0:6']U;1QB55L$'R_\MT5)AAZKVN,.N5E,Y^)2-\89@O3;A-(L+Z]+3A M@ZBNB$F?VABK6"*# #RLH36CJ^V$.Y3T="ZFFE4]\ :0^D O/-YF='(YA"M/31*$AS[MOF,=#REUCC=.VTPC<4@W+XK70$'^8EHO; M\Y0P=WZC<=BOKBM4T[_;<3/C/R1-P?,M M\.G79!_2G7L0QV8@=R-N%!WXX1TH-A'-^.KBEA(_DTY>W? *>=^X)V"&M)T: MGX8LL*Z:<@^N+I]_GWR9,[(Q55*]N(G\.7?DID@/9'%C M65]V4ZUBMJ&)%\UZTZRO="FM@X2L5HAQ.Z$H%-+ "@M?LTY(5YIO!HW4%FL) M1><$WP0.5:C5/P@-60?DF89/06^P,X!93!4"::1U=1V0EJ3>$*A45 %I0^>- M0$A?I2UJD,-4G0\CMC!5YJ.YLA55/EH3>VN0H:KQT8[26X*-7HI6U &'L2H> MANQAJHA'8W4K:GBTI?7&H$-5P:,5H3<$'+WVX-:>&$@UXL5+KOWH30A#;E6ZG5O29'<2N6[,4IMAF)6%M>D>/@ M.R2D_SBX(14;2+#IP>\:D(C:Z:%3V "!8AM;*T[J73B4[OB!N*+$5: M4%'CE34+0L8-F+H^;[(/79N2P"=\8QI^%?J2U!#F]OM'_5J ,G/F M9+DF8A<]XT]2 %1C55"N%IQA)"EV?+M>7S.?=^,:R78\-L%6E+ZK:XT1S M;4T+"9RJ,>(DK5;DUJ$-5008W@K:)"6.IP;&_-75*W^1-,3MJ&K=U*=.H!5> MUZR0M;=2%T 5@2O>63MZ%< &II8M"LVGY);G>JJ=,V\[%1K,?>>!\MILCH#K^2:D//O]1'=/M+3 HGY7G![:1O]L>J;9 M#_ELK*D6[<]F[)G\/)=W_740[D1!Q#T-8^;.,.F* V()8?AL*TS$(;9('JQ4 MH'&G16/99RZIGG)*\Z:,%_DBN(U[R7%4.\ H>?:5&WF M9 /5R2*I0UQXEV] M;H5'5,]:X1V%*V1M76WB=-)B+%$L*E>9)"J:3LD=U&94[9/ M!SN[Y0-]#KQG-G07-2U-%W7[X'94+8UECZWL@-=U]<1NGPHFU,_7A4RD-V,K MG20WZX1^?Q.Y].*[>KYVU@)GN%5HD\V^BA\CGV0IA.U0[1IJJXOY5,5T*BM; M1W:<\;@SI[Z55A1A&&'N,Y(FXVS;T#B&:Q<"Y"K':D53G)BAHU]AGZ:D'=X! MN5+:UKLSG*BT/V-T^!U813'J]C?8/L*;&;>N3WFI&?60JVB',XAJ-M'/LTQB+*/)RJ-/Q*;4*L#2%Q1SSI2YRJT M7M(<8OZ^\1P5C?AE'!V/=88:QW P@8^WX &%,L\%:",R^OTPK]!N6&' MMW*&M<.Q0@[1(R@^*+*'JLV0F4;NFA2@*FV6M9E_/^[8@/H;46RWS8A&TBQ* MHR$>E"9J^31;SRSX?UN[_?]#LN'OIOWPUWF/X!NN*4$"% T>=Y(5JSSL5-IP.BZH/NATWFH:;MC3(:<3 M1S1XQ.D#DP>$J-PG/6N$VP7+=9+=K]@"K^LIY&SK=D N<3F3&Z%#:64B?A[A MLC1UEL\T]-W--KYQ?$$_L)GZCU9_F_+]9HR)93#HFX? MG#';2&.Y5$=E!^3K2=KBMS\FP4C3*"8AA*(5DY>M:V^)18 =>0K",'B)>-D- M]E_V/22U-N!36$?B3V0((=EOB91D9X6_T?%?Q1C64K>+#\O3V!UA%<6(7ATP MZ9Z&;N#,UTS>OQRLD/US#=?3/K$(W_[P'HJRJK&I05_$&-74 AE6Z79$CEF- MU6CKN8(1L8 3!Z)_"'9$7-CD#,D/[V=0L2&QA< M#,;C%+%DD/Y@[]JRMXEBCS'[AZ6.O[KQ5M;UBMI<1:[N']0HV)X48E#L:)\, M(UO200Z97;4:=$^0,N&R*(H2\<@+DZ\DOE(QTQ#[P[BX:\J0P#>#WI0S =8G M@'QF'X.8;-18K1VJM]6R*(REE3+V6[Y*QG[YVR<6 +O#KA2GRS['";Y*30!1 MSS[$MUJE%K&M]R74S,3=8.I@*30(?UO$=*=\,*>F#\XH:J1Q7='!K .^:&LF M=N_%!_D'G(>AFVZ#J@UEP\Q7LV-Z45%O5V&$BN:X@[-.3W4UN[PMWI"LE;BW M:G9 FPCB1J)P,$VY8E:98L:&RT_6*XS>'_@Z.QR5L_;LD_C8 * J2.".US;V MJ!M;5?WQQG4K+7H>>>$A!LZ19"Q)RA/-0#R845+=GS+=[7+=N^S4EBAT&?@P M\648M_#MD#)9YIM-R!\@UH2%GDGCA(LA[)=O#_=#%_GR8M]:=BF/8Z5<2N*- M'/@;L; (=';]@'E(Y$9\I8@!'*>.6[+U#),AD6A(W47-&W#6Q_",) M# ML@M"FI*DKPD+L;_-/O7I2_(+KWD)ZZ'[,'AV'4JB@[W-J#J,U6[GQKP8J,@Q M1M[_1O(=JR9WN2QDD7T3F3A8!B!4ILRMP^QI.4P:%M^6)UW2R>_7Y-YGY,V) M8L[^P6*A^KAG9G*6OGP,^;U6RE_9'><@U=8.ZCFINB_>7+:Q!KW-63DO(IC! MRSV%@^J&GC\>S1KS_=YS;:[NS@HWKD_>66R\@FT\FW'^NM?#/4#1V@ ^9HAS M<_8>:6UCG%&LIZ-\7J>\)?)TL%[N#H>$:U9ZK1FZ90X2"@R-NK, MI(2/O_=EJ)3\6 ;):9.;D1]('5C/2LTZ%3B1,5267YSS<>WD":]5D&5+V>M> MIO6BL:2,EKLKM)'M?6!=SI8*F7K=:7LZ>CB"I.AR5VONJ7OWQ[B*+9\Q_4W M0V50-_#@[>66S1+I9<#49"#R ,/ABM&(X%W<>OC1(8$SNKK80Y$%U?:?5,:C MKTT/!X[Y$GYR%D^\PVQSSFS:*%C#E30W2%][=N#E9DLL=B8O/1_S^:)(WRJ=Z9AH)5_OSS'8UOJ:19O4U4 MW28#GY5Z*R"SM,^D8+):@YZ@4;P][].8>'3*>#B,L9#CYWLIL#/ M5C0GA:_=-.P)?].#';S(08]83)P#7[G;60Q&7%A$D90P"=1FK'X&Y*D8[ I\_>Z7N M@WB93U?RUDM_@H%TJDSB,3-Y56%PU26*+)XS,[1^,VN02PP/="=NBW>YQE!) M!'FXM[))W54&-07$4-!.C]ZO,V0\39\G-628^;/E>GR/N)=+#3T?#[VTPO!8 MEP34=,&-"#KZJH]^%MOCC78MJ;OO]P&;&?D8!M$@Z7WCDYP]*RH/\5FT]OC4 MW:7E6XYK^1IOP>NTQQEXVIIFBRI5C9&OEFB)WGXNJ7RT>DM)ROITR!UWX6)0 M ZA4'']I 8.:QB85G_U#1)TT(RJ<5LT/0#7(MG3IX<2WWBQ5-^O0(H8W)>FN M4N]S$<$^FW[,3DZ!2\<1T7]%LQ]. MP&BLN<8Q[[P3\@2ID0K]7.U8KLE!T$9^UV44VU2=N6:62CB9N00SB@'4&HZT MWA*ZSRP\GND*5H&4T]K35CBQK$:KXD)*H0G>1$4E:/N(2^F1+YRBD5>9Y^VGX*L54O?@N#EU@V_DH)@8BS@[V2)9[7BEX#LH=X]E>J)11"+IY>\ MX1"J%1,KI,E]%O8++!W '4$:I_7*>->4CZB@_YQ6OLD("6D"GUC)PUSBI:[L MT:]WKN_05_[SUP2NR["&T9[:[MIE_81@XZY1#/<-G=FIH6"+Y?^,A,CSL\3LJA0N@;_!Y+B/ZFEURO:UY/:B\ M)4[TU-"N?%TU:X9WC:I*V#YVL&Z'?0A(Z\CO !I>/RQ^F:\6OUR3Q=WCZN'S MI^N[U:/Y\_B?K)A?6;UB6/# 5*/\-4"]6LWJOMBCLH$%U$?U%1TQ1VX3\7L[ M_Y$R(L")<%8S\4XF@B>&!K6"*UF!OW4)-[^%+9SSVM08HO_:=UK&?M)STI$O M:]\@[J';9*.^(/RP,<]8H;C$,Z -Y(BGOH,AWM-V=5Z MEJ?;Q;:88[A&XNZ)]XRDI,V^_S>0HIERYMX S'7C]?#D*7ZM-@TE0BMTKD\2,MZ M3"%.*^7N(U2SQXL@6F>:FHK9&\L-?[&\ XUR3:,/%E/'IH];2N-;8,M& M_0_'\B.@'XY_IL[&]3=7-'(W/F];=6=B4(:XL6)X6\LX,QPWO!@U@LZMAV8F M&A&R$4DX>'F-BT>X?"05< 85$HT7D?B%*-DG^G?F_NIDJ9$2KOJ51VF)X[ MJ^^HJ%M/RZ5[NI_2PJD-WEY9QEL:7A["D D\CR(:1Y7W5RJ:XW;I.CUEAU:U MQ>O.M1*W+I<%A$E"F0C29F^R#*RJG:AJ<=+]'6#DU(6\=\Q;!1?U <;JYCA# M35?/[ !C15OD!QAU)&]=Z2)T=U9X).MLZ(BR$<6V]GP,H;X=[/;,1Z%86, = M5SCLC/B9/..>%QS2)"(TYXF&.7F#QP6'5[=O!)K;=GB@SJUK/4'9(9=&EW4H M5-\%,1)IZINA44U[Y(BD*_UHJ&0)@8B72S0C1I!I:-,D],FMK.FE<80:2VWI M"^XY79)$U\Z9JOL@ABM=C8O94T4'Y("E+?[(>50!KXPF4T,:1Z08!<3"DU8- MKW@WS.IQ[SO*-B%NM2]CE/?!"6V--"[?^"[I@'+%[S/2)<-S@& M41S178Y43S[YRQ9[E^MLJ3==Z;U^C:D?N4\>O?;96!B6#84]DIT* '2S6SE& MM*,Y!1CIJ%D/U\.X!/SZ2.6VQI=<$"))8KBJ7)I*'/L/U$ZDIQ*LW>VGNG79 MENX4@K8'[7H(W$R*:07O/+#=VR"*+JUH>^,%+W#&AEX>=@>/J_71+YF M,XF5]:KX,II3P1V2+:TB1U]#$G@#K:TBK5>ZEI>+&0%N!-@1S@^6^%*.!%B2 M=\#TZQFQ@"]AC(WLCXYM',D*&T9[QA]#A=(8UBMA@.!1.Z8.5-^P;%LTA4(8 M8J\UV.U#N@7@>>9/ <[2MYY8$5#LQA$QIOIV\QTU=."M5(;K8(/](':'BRN M01&3JT/H^IL[^AJ___Y3X,?;Z(ZJ[L3U1APWIO=K0U45UO:4\8X />O73UV7 MDP%"'A2@Q- 3);)$1(A$0";R_GLBI)K!^]O&*\0:-*FX?,A&#LE2$#4$!F$H MFA3DE9/HZY[A(.4UEYBI?;!D_$(]!HP[+E"?S_I)%BD_(E?5#B<.U6HF/=]W MW@CY_E*ER.T#/G^N[^E(0'P8KIU\TI46 AOYA;X!=.5PM@8XVW*R!G>%AM,O MAVLC&T$W04C=C7_]:F^A*D)2NZ[R!&Y-%YQ(TT3?PK6DBO9XLQ,MJ3O4-P3B M)*5.TH*'1D_E#JTRUS KYFAD3=F-;#8U/81TQ?*,#XS);_.GB,NC6@^L[($[ M4#6T+2SLJIOC#5,=H5LG"G>7RT_79#7_K^O'TZ,CH[CK]7I-;?&($"P1K*Q7 MGMBS"'+] \O;E_MDC5=UWJ 1 =S.W-P6LF_K]\;KZBUT:.OY&2LB>,%"J)@? ML\DC^ZY9U$4Y]1B3Z)F^3EVM\6W-PKK[7%'WY3.MZ?[[% M?WQ.5_ A_/IVV#-T]4^##ZX[^\?(U"D93/T-%R$[EI!<1] [(W'K1JIY5H_D M<2-!WW8LW'GNB39>;.E=P]9'T%-!4AB2#NHDTDSKQ$ZU95M]'1./Q>81-M6X M&2,:S-09&$MM#^B;OI&BT+:9;:8:M VB=7)A.F!\#A*606QY+<*RLYHK8%P; MBV.=0QM*RWLF+^04S_S:$,LL4("/F/D4=7Z@4!(I_6U%PUWEM$FC,VYH:F:# M\\E^74^\P-50_JY3_S,\RWB)/Q#@9G !8'!#Y/JF^ZD'AGQ,NAV:X+]^9?,L MRF)FN5Z*5@='S*6,%X*IG"<4[ E M7^+P_^_N:GKCMH'HO;^"R*%Q *>]M4U:!$CLI CJQH;MH"AZ*.@5=U>H+&TD MK9W]]^60HE921(FB*''D@P_>)6?X9CF/'S,D^4BZIE'VS9ZX/]:8SDI)B9\) M@5@8XYK%[)%&@^<)U5K+8X46U/TS@[+*LCR_K>$3S 6$$FQS '?()1V4*QTF M-Q'!HRW'?TV^M'A;H@[C+,GR9HRNKRQ.ES1"6.9.ZPHBSY_N;?;(#'\^F,I' ME9/&3M@*M,Q[W=TQV_QTD\6B3U MU43Q)>9U0[.)HY)E3H7_> ESN$,B AO^0XI_L7"SS5GP]H%_NFG9U]0]@FPA M!K>3V=I%'YWLEX'79:V1.(MG*IVD4(HG(.#1-F)(SQC&HW5T/!,HZ_@]+Z/)P[BB!UC=9I*# Y9"TFBVHM'?G @'[.P:"\3- M->-MU1>U,).&EW\<8'(>ZZCD6B9:'S/8-;>&[%S3?R)IXQYFP7]P08J,-.@_FG1=;"V:<+T5S< XY++F,_ MCW=[LQ+W^I\PDPO\*K>/R4BS':4\#2II6,6&00H1RR>.)I!9^8(K1LT7KHS# M_?=G]#3!=7;?)S!,SA.BBJIEK,D"A#P1NJA!F9T#U@F;[H. M[PF- _X7PSDMKB9,@HP\;EECR^UH0_-B>$2]^?*J,W' M45Y4#NTV-NR0M6".Z+.0,6'H!"V4/7KA3$DE5>5$:B=2O5-J>25M%+,-/"EE M32Z3FNHU*=^ VVRB=EA4A2T>;S=G\S [S]&NIFWH,$ MX':7X;:HC/.$\@'=W 6&7!Y?3P M.C9=3Y:EEM%C&VV=JF=*-39]4Q.R_X/"B8?L++G?T?CP,5[I7[K5%\79\4SP ME8%U33GDH?.^5MMWPV(C+B/Y%AZ=/SZ"2^^2?4X*Q>1[>K_[E13Z3^$!L'D# MR%,90(]O_MBO=XP^)X,7/6\]&53#R4Y#<1M,]R[P/_=DW/()%CH7GI][\H?= MX:5L&A#7?*QX_W7'XJRYRV%>"Z>?#D1=3BCZJR"?6PP 8-]AXYPP*>P4]CPI M43/>G>C#^5'OO/.*6D#8QFD['Q(TAN6/H0K MEA4E;Y.WJR_[4&9$#C"%N<3E<=I :_7QG:&X97+A4' C\C#)FNOBK!@&(AZ4 M%>I*OLP3L5*C1ZV+(-2Y+-A!MM $D=)'>".(:@51-6X34FD(&C:>RW#",+QS MU;J1C_7AISTL>B%J MGN$+.X89NNM)S."CAYV1QK=36H+XUW'6C09ML>*T7# MJ8>C<**D>UGXS0(V/8+-VL'.'!@O,$K08;SY>-Q$?'\IN3N4)5R'RK,TK[@4_^_H3OR??\^2 M.$NB,! -$3M$+:'PSH(XG:$?&_1U?2E\7=F@K;8]M296[EZZCD\/[H:MD>F> MHDOJBM]&I[O*+:4[.HI0MW9(^["TNU1]-:=J#6#WE\;900U1MF;KUXOBZZ:F M#1Z?)ZH$DW^D:#_QG^EQ^ISX_TGA9#J-KAETYS""^1N00Z<[]E;"[95FF*O. MV5T#KX\:MMMZ/MZ<@T,,I-0D1IG3XI($^/\L27DYN,#@$Q^-U.S+ W#JKB]?0C^VFK=H!Y>SQ_4>F?^7UV#^\_Q+WN(\C[T;W:UUKHKED*)D.KSD$@3(%?5<2)$ M7WI9G;.!LJM_%D67TT6;#7;62T&RQ\,;+3@[SW!TE5]<;]6?Z- 67E2/=;1[ MINFS'O?/&E@[E^NZLHOJK?K%>6O!Q?125TOQ;\9^G^OJR3$R$.LN!?&,ING- M[VFRWUU%J_?QAJ\.6,I7#.?A0YCQY8+^=)5Q39S.9H&^3!TTJX8\17 @B E. M9NU8FA=/->8)@?8\STBE)>0BO _5X<*6KT\^W[R01[C(29YL&)>?"B7/JJ44 MGF>\+*.K+:$DX^X4!B%-#Q!/+R0+4Y!=-/.!L)E^AAK(JXNS4])F(S_$:_WOSG?JD MJ/[F?U!+ P04 " Q@J9:FKJZ=I96 "/6@8 %0 &-DESHT"4GLHD@5+[;5OWX!7B12)&XD2(*0SO149MH B(CX$ A$! )__<^/ MK=5[ ZYG.O;??NK_=__,__\=?_]?//__TP M?^X9CAYL@>WW=!=H/C!Z[Z:_Z2V=W4ZS>]^ ZYJ6U7MP36,->KW^U2_P?_ _ MO9]__H]PC ?-@WT\-O2;MO<&HKD];0,NT__H+^\PJ_UX,DVMY?/CSS;S]M?'_WET^?WM_??WF_ M^<5QU[#_5?_3?W][7N@;L-5^-FW/UVP=_-2#[?_BA3]\=G3-#_F3ZO[QZEK) M #>?#M_"MD#_^CEI]C/ZT<_]ZY]O^K]\>,9/\131KQD^DC3_R+6/:>H/!H-/ MX6\/3>% )F'H ]G_\3]ZO;^ZC@7F8-4+A_B+O]^!O_WDF=N=A3X=_FSC@M7? M?M(-%Y%R?7=U$Q'ROQ]C>"1_#FUC;/NFOY_8*\?=AFS\J8?&_SZ?9.:C:VBP MC6,AZ'F_Z,[V$VKVB6W$D$HFUGVJ2.'"ASA%$QDYM@%L"&?X%\^Q3 /A]T&S M$!L7&P!\CX]0KH&EI'>FN;#=!OBFKEFU$7_R%5DXE!M(Z< M[/IJ=;CA>X8&&N;6@YZAHT(73= M": -8:]G M<=N@]A&\^F4IBOJV,VO7?(.6##) 9PP-+33WJWL^=8R)*!MHJ_7[J:[6EZ MI5T4/UXK]@]8AVX4S==*6SOI(5JA(7CUP)\!G,/XK8I:RX\CG45:JV7:KH5* MG-I2@[M^/50G0[=ME5D1I+'HJY)$&+(]J[$:4=DQ6K:Q*NYC^8&DVZF'AA&J:(>@:^95CW[ M-_F#TO%G 7+9U%Y-"XH4>-_@TH7] MC*'_I)GN;YH5@*D-38' 1;0\:)[IU8JLBE.2C\>Z[@; ^*&Y\-R)J*F5>]B/ M2<>7'\!<;^"9?/@&7&T-PD"%-PU\E/R B(<0> %^'/$#;OC[.EE7:3YMGV,6 MP78+-53]#@F!>E?QPV_P:;>"L 9P]9K+)=B1ZC97[;MO MO-HI&KQMNMD403UL*?_MMKF64PFU\(?E*W)XYZ =L=#@2?)ACU:_#9"SYBMP MUJZVVU3E2-FOR<$9:%Y9@0'M6,N"S7S7? W0C\/Y"V<,T\?DX O:'%Q-]XM. M1\+YPO0Q.?A2A^.#]RLM^\0K4ELTDHQ>\=@HF*X.!E/2HR(#!'Q81GY-MCMH M$B#/Y735$*>(GY211P?1GOZB*4AAORLCM^K0M=6^*267MH[KF_\*)SK^V*'D MW"=T<%N9<"\!S^8;,!I&6Y49M14E1#? C, "4.LZ4*O8^P7Z:45&,0S<&KV) M1ABNURY8:SXZY=FZN=.LF;:/5.JS8Z^7P-V*XD393[;%(_BKVY$+H$(8P@F' M">X"V$ :M2U*1YJM&:9F1_-ZTO30 22 6,K TD34CZL4:B;@ L^?0WPNWK5= M5659^G,2\N;@\T$S%;\*?Q(;=4+80!V\/;I/ K1SL-6@!6NOP]\B M*P5*"O5!<5VDOX7PH_1'V^/34^##OW^#T]P&V_!'L3WG?;<-X![@';46PJ62 MGVQ1LP0[V O-4+,219XZ8<;7!9:.0!Z5_*1,MR\J.U8IP[:<)QB>GJNFF."& M:YDVY,VVD;DO)#60.JX,-U*J$HD;KB[:T( >'#$F8Z%BI*Y+@,XC2 &8D3_N4H3OB/WT<.M#"&KUX8>4M&LK178/WMIY/? M?:IQ&@FOEG#$DUF<_OKW^YLO7Z[[UU^^?+ZY_G([Z/=OCG-+8V+H9N>IN7HR M-/QK#B99WL \TZ1CCM^UP/$Y6*/D M)XI:M8ASC-,/.;^?0O<1PY3%R[$D%EAX:41<@6Y^Y%CX(5![-4A MV?#3$8OJ"[TO)GC^9KU_\P=<>D4->Z02)BG'\MCT)X\XC_@B1[T:>)(M^V>-*BS3PZ) M5^U)8P3_.G67SKM-D\6Q9?Y1>H*OM$ W]Z]U?,RFSSCA=+/GY@0$XP\]O%"!\5H4->L$WYDGGK"_C;/P*' 1 M<9$/$:$$\BWPL,9, @^>S3V\@LJT MZA#OZ?-.>-_&D7>\!>X::LNOKO/N;^(+,U@9%+;.TO199EFPSS^12;/GW7B6 M'\<08!23Q0LDU[1+TF";?"**9L_$\>+= ,NBK8ITHRP%@^O/:#>3D_W4:2>, M;R/(C(K%HWB3H_^1*].%MV$)G3HD&&XR$D&U$9L> 51)PIK8!OCX+X!?)"?M MNB0.AIDG$FCVG!T;TT^FIVO6/X#FXK.3<$U/J($:]XM\X3I]QDB.).4G_]=-I+KV0!'N^YTQ3S"/FV?>O4)[]86SX]]'T MY7'\LA@_HK\MIL^3Q^$2_N-A^#Q\&8U[BU_'X^7BIP;2[5>:]QJ.%W@_KS5M M%U^AL'PO^!ZX%GH3GGY64=&T),(C]I*YOD&22( M$SL+96I)'UTF1?^/GO=\TRP0/:&VV#BNCRXHHP)OGI]<[2J"!/L 1Y MN%2D6BT,Q>70O3G0 >3&JP5>@%\MNHD",*B!1G&81"0;ZB2 M^!FIPU[[ZJ3L6<2NK,29A9WWXG,*V_$UJWUASUQG!UQ_/[.TJ.("-(-WR-S% M[_.D+G)"@5OI=:'7&OG)F,E4/!3 MJ)99^!C/^5 :,.(B7DW@.RB!!T[RU#(/3PM%0ZK''^@5#90W%=>AQIX2Z5V5 M $AI0M6R)BEP4$KD+&*M;#?*(=;4R>C%L776,^*QK1("9Z<,6_"@D]*/2":> M#960+X$4;*&$3AX#4Z6-4?0#I16B_ &(-G3X\?>4:")K=]E 43:T7(E>M4Z+ M*5:P19[Q'61#1R4I$T'#0KB:D<69MD>Q,[:88K9QEDM(:[=S:Z&D//$A108R ME0,#>IX\ST \'HK;JP@)#DK5VDEBVE-O3S"A(M]>550P4JJ6WS']]A09#P4M ME4,"*XUJN1N9-XHSV"'XMH;*3D1)CJ00F8.&4HIG^4 EN7&6_!M5G!$EB%;+E@A= M]FFJF:(7A1T4A4A)PM4*6Z;HIMN:B@.!1JE:&7&HLH(9W?B S!LY-MHD@:WC MD4#HH3@R>"D7% 5] ^ZK(X.66((M*GOO[IFB9)C6BF.$AVI1054Y]I 3RD>: MZ^[1*VM;Y/4?^KYKO@8^\OPOG9E&L$"XQ\GR]A;R]JY51/% @ J@DN2K%4'A MCM"S+N/VP2)8_7 2CGUOH9,P256)"E]K)Q@PZ6:R08)3AL5V"I5 M33$T##, MB("99AH3>Z3M3%_#I6%B6BL'!!XZU?*3#G4]V ;AR\OAP1X5]7/!!MB>^0:B MR.*SXR$GT'2UU#[P,5>>4=3#CP#ZI?*A5L;5'+V'; -CK+DV*C>4XM C6)FZ MB;-(Z!V50T])DM5RP.:YR&RR9KES![ESU6U ,)*H6#"78N"7S#&6#1SU.6'9 MR<<_6"82.>V7JXO._1O@F_K1Q&6J77=7IG9=[]\R'_SWG\ZSEMWOS1NQEN6\ M([$_.>ZC$[SZJ\#*%^:AI WRC"&;4F$52X'E6IELQ<[':=L+4@ YB>B!?[= MR$W;&&[1*S'_"G^.K0E /RA5&CXK"?08A/PW9C K),C:IW53SS><+.9NB'C MC=![-0-N6/.=+5R ZZT.LJH0K-9A_(03T_Y8*:S?%X4&C5*UZ#ZD(&J>ZBCA^HSP?\9^(25$B/)IE H M$LPF&(BA5BU7_\CQH#)&Q?G"T"EPWTP=> O'PAL?N X=Q@8G46IYU+^ZCN?- M7&>%34=*M>BPD&E4B')WRY%)\< MRUC- %5DST>@*%M ,EOP> N#)OYC2]D 4,;^HU"C5@[YBV,[6<)CJ%-. -1^ M'49".=K4"E-/;#@1:,[$E*=9@O5X8GO(AH5R LX#A9?DJH;_((*(#=;(*&D? M).'-/2PS<;L&L9.J4"E!M:!C@C0U7GB!;Q!V0NY()I:^Y^ K?UL+ :BM8XH6LFT<[$"%TM7\S*:]!ZQ4L. MVZ=IKHC*UY()Q9 K\<)] #; 1THPK3N/'C:*JB9ER68,O0"?>F+.M.FPG.ET MB,JTDF-=)W4&DM13RN$8U[S#$NU5&PP^ GJX&QA >L+4U> FVK\"=KG() MIY2]@G<8V?##L8<((351*8KH%%:>D/8'^ ?*OFQ9OP=61I% C MQ=IAZ-EA*)2E+@&(*NE#A(*>(\W;/%G.^Z_ 6(.OFFFC'T8NY3G0++JD5]<>QZPGN/^;:CHHHZONEJ]D>%$+, M&O0O*V*4\<_ "Y]-2N0U0X7OX"_8'X5I= [GA_SFV*C6E2R6JOCBP,XXZOG! MMPICU,H4)_":_["O+I!XB6[DS4?I*X^4K3M^S5IWG+L,25=*DPLI2_)[XRY$ M04Z)VMU#N65[/>A?M5NZG"##VIP_.#9<_#YUP?'L@<@)044B9SS'J-.#4^W' M7[X/*@G7FMC2R/WQUJW 9)U['!;>3;E"T_/TQT)6PRU5WO# %_:W M9 JZ-![B1W.8NHA[IOOD6O+%%N$G,/))MB89'D2<: M"(K5LKVB6EN$?)%C ]GD+TB>>:!02%8+ ,?]TULZT/AS;-VT0":[9NF(43EU M?.IL0-D8\]0R[%F>:L+ E:5KEH,WD(/M9@(TAI(\0$NS2S%]FB+W4$$[+DL& MN?%H>M&;=3@=R=C] CPQ+)-*VV&*PF4)G-AOD,N.>_K.+*GI!2W\[%&KMMQC M/.=4 8$HW64$?VABU1&MVP58U5BE5O)$<8(M6NO.8Y,'/!3C.-Q/V9U&"V MC=!N0"\U8L^>Y08[0Y259DO5($86?DO9-\"9MD?:.V',00Z)$XA'KW&,>8:( MK,H=M0(?[%D_E;,QL]R\&UP-6J["7U?"4T66J'5C'\,,9'UX(M)^"0/)!CA! M:;^\%$N5*%(]4*#MXY/\4/\S,%T V0,7EK^?69KM0VT^AC_=$1QI[ /(AA]! M>"@($51CB6JGRQP[DC ?B&[V(R'$O\'5>#<@J MLN0LC*]#IFE5XXLPD&R $V1\\5*L5BXFY(8.@!$^]?2,5#=D9I@CB$_1*&XO M&SH$2;LP^X*# VI=*)B#7;SC3US00PG"]3:CM++A0"3TV9G PXFPJOZLP5K$@A_+@*^4$;BG3V-C96CF<<#:(JL@28:^GJ_&''EZ6G4/T3VW$(/3_*!WA3;,BVQ!RV=3AV@BCQ[:1_4&JY<36K0#9 MC8^FMW,\S?KJ.L$N*;.";N &P#B6'<<@M_V)R;8B> -KDG)0K;3.2NR< 3AQ M(Y\Y&S,Y+;A(F)BUTNPDLE+] O5LM]:%!-Q2[/V1*@RM ])GC5 2X*K6L-B% MZ(?DN/X%=BR<[Y\U[OK":EQ$P!O;^7-[X^^C+(+=S@JYJED)5R?VRG&WD6@I MA<+9>G==@U4A4RK'GZ!7@,):;S/--.#I$W^][*2A=""H(-0\1!CI52M3:V+# MB4 -2H-"IE66+P/(ESNE<$ G5JV;-2^.K4.V'3.E;>/@?9I -4O-$6;M+QUP M>%.#*Q&J5EF9^%9N>*_;,/T 2@]J4%3TR7@(_!?'_P<(EQ#6L&7K+AMDJD&@ MR,2MP >I]B)<)6A==P/-\IX<]["W3E"Q1!N$1<%07'^\W5G.'H P^)HJ&%88 ML*PTH*IPJHDSC>QSK3\V%2:3H '@--$!TC_4*6=X=>JVW*M3BU^'\_&OT^?' M\7SQ?WKCOW^?+/_QD_SO3X6PR;"*_2$J4M^&C\S)I):$PE/91IGET;^"RZ/= MNJ)<,LFP?04NS@8];2>MK)G%5F!@,A%9@R79])M@T'H.YQQ;/9%=390_L8^* M6. GN 8#L&%U,P.9+$$60BLBSJ=-Y<_2<\>RGASW77-QKFS.4:0%!UG. MA0'3RG2+/6:V^8Y8CG2LMCAM*!L@1,BU2)TPT2T($'(EAAV/X*&KV9L&ON=K MMI&_N<[2Y3SPPLT!01N15,C)/%6!OU)S;',>V*"3+.CL^0;<5T>&:#OM2E[Q M931E 4 F5[+")F)L"W0A%1B/@0OU7Y3T_YMF!> %O(>_P1].&/J>!VC*LT+0 M,58:;8+A1+3/ED342>>SAA0++P3=@) &4YFWMC"!AI OKZ=5.^8 YWI):RH')5%48\#S2*9I!JE66B98DVDR@SM0(6RPQU'B 4 MQAG!E6O:AQ\N=0'_4/70-L)_61$L#LL[?*P"\G;FN.$O?-\U7P,?!=66SBP4 M/ :WC<[A/ #?/DM%E=Z1Y@R'8RERLSY""^L-,NX-C#]0<8E(DX0) *?R':Z@ M+93:%!'?(7?+K ^!7S[O55$W(Y.UH,B52&'AW!O(GFL%<<9(=P*+JH$8?+T% MM:*YJL*%FP,)<*JF#M*!(^'ULTC/;H!OZHCBM-0I=]'N1-U%Z_U;9A+_?K9W MTWYO4\$ MX((%/.B8*[A ;3]^W1KY0J&2T5,E6*F*HW\%_P\JB^.X2(M,OKY,GB:CX@[> M@!V 5+B<8UG?Y)?U?/S;^.7[&/XYFL+M&RUO65=W3#IZ@P,>C$*(H)#%*/!\ M9PM4Y;9RX052%9#":#B/S;$(I_)?IM?_9,7 MN/J7T[G$YGE"ZSYEU)!7.K%'T]?%A._ 2.:J_-5PL,/0_X/$OX+K^$OTZGCS\FS\^]X7@>]X:+Q7@I[=I.<>:4* MQMCD7:0%#("*^5=@K#,/CW&LY HC-KWKD:%J&;Y#LXOD\N!I\;E6OE)+Q:R4N9,<_WTQ2">15F0*C- M+^.3F5 7+ZY]%M.#0?^F72.;Q.*"1:X,[46;953V9_?MU7H%*JMST%1#Z2 MNZ^0"C:$D+IT'1?9C MZPAG&W55[!S4"*HB+8F,GS33#6N[?@,:LL>14X+' &3NG^'E]57KSAI>9%0C M5%"9:$E 0[GMQ88S_7@QX=Q*I#Y= M1P@_<6I5/$[>H4PJO[!I$4JOKH.B#'E5ZP[+!8L7\)YBFNO8\*]Z5'.+QT[A M':;KP!%";^4:PAUP88=O:3([L&^N^EW5 TU'"6R&]D5UJ_]2LB9&$6 MV"FU,T,MG_F17R>67<*L/2<&V891!V85Z)7*WRX02:=F(5I9.EQ_CZ85H'ZX2Z!O;,=RUON)K?_R M#6Q?@7LB96+;+DB6+IN3! N8FLXKHH0[M#:;;2%M@(^) .O@6&J?G@V=+Q M0J;UR=*/WHQIURLJ1-BEB*[A9-FZJH?'"##QP9;#!CATD0T9S1D"9!9T'B<\ MC&3V.+ /)1NNN %0[>1!9(.J?M*XCO:_@#$QH#C,E0F,V,4<*7US[*8\%1QA*S'>41F^= M/.I"=C?'-G,HOX1>.?-,(RPH@7C/$J"J]V,*0;0%1C62C]["\QJ\88J;?)BB MX(T-Z:,5C3RVT?P-1"@7;;UVT4/C4+;([@@GRF3/,?7-KHV;ULMO=_&6"%/]8_[+]I_W3>CZB$+@:9)!:KD"2TVF+ M*GW]*T3 ^&.'WI)GLGNJ#)GE.'INK]]52-;&#C62.-&[+[Q6T7W>*D*/$4EO M]0AXE:A-.^8@*G9#)M]%MI6-9S/)9&&D2RJ;12 2OFE^X(:AL^GJV;'72^!N M2Z"#;1@U$%.!UD8LC7:>N^+5_)^+-'_1FU<=V LD>OR*>U>AGG_"A#3@^7/- M!XMW;<=UKJ%TSBX2]"ICN[5Z*C(>>WHIPP:I=APJ2I*"1<;A1N9TA2@=KET0 MWODFXX3:_5R04HX1:NPK\>L1?!M)_RJ_D41OFTB_<91XY*3Y0T/X_9'CL5F$ MF-:RK=X\4_,&'P\I4NEJ 2+//^IR2/F(K5^V&^,E1NHF5,20*94CDKKE+X+= MS@KW),T::=[FR7+>)_;*<;>A?.(70I9.2JTS6HU51NX2?NHF6PV_8NJ1%5[; MH.!N>/JE%>DM!$%/KK3I:CR=4PK0#_OXE^Q^)J[1LFOBOO5H&$D\)(=3=:+5 M2,D@%M$:&H89495BSR/P-=-B5ABW5P5OLM%*:_W<.WZZE_IV[]_BKTNK7406 MW?K2M(:9NFO-CB-MF2+X\! ^2T$N#!UKMFYJU@+^)*H_1Z%3R-BR:1^R\/+Z MISXF2'I;^25 5VV1?]\.5G#N05AHW])2CT.ES55"<]E$7Y\H3VQ97IZ[JAQ)[$_5X1;)%\MI=\][SVHWX;U:2C%4,LH/"SP$:ED]/E6C3H ML373,.$J6FBA(>Y# YM0H0C;7C9!,\BM0-ANHP-@>.BJ/*)+LW6X?XZ<[=:QHPT5 M%":WL?3KO-BK42I5#9O*RF"F[4.':6QG)9Q *42XG8/4I?/8*$VD&B5CR-%* MPG,E0_^8^WGRX[= MTWIN,LW>*YKG>?F:&Z^XS_OJ#6SPXMAN_A$<#*W"QL\N[R^M)V.1A9A77?4R MHLLNT@-G'O:IUVB?7/!G &Q]3W"2,_24#3;UPH .TX6*0&H(HJ)3G>&GM(" MBE/ !*AP$J\:5+S#XB,Z;%FZ2@L63A&S@86)^EK\-C)L6*%JYMZL#KVDA4JK M&Q69/8)\/JUHGAE*P(72/)[0#G\YGK&("HAC!&G!Q2'L F] 109T>>,:::Z[ MA^LLRN2&)_TM.HWP0HASE"P7!Y"+-ZW"J"H \I 2P9#.AZZ3B\.I-W%Y@<4S MA/JHJLR-S@=%4PK_\-=?3>!"J6SVS^ -6&R6$Z&S;#!JT8#BY9*@X(D\)[@\ M [B/_=@QI,49O]P9CW5TB+D]*B)<"%D?S. MFT9%!%]S(^3ZO!%"(E\=2R=%\ TW0F[.&R$D\FO(].A>R/69DD,J]!O2HK!I MR[HV9@I*4Q%XAX%(?E/0#_'0"[2"V$Z]B+_"=%.6U"/Y!AZLW5X&K0 M[K/-]2/F)&^N?FZJ59[65> MNM%2=A@E02*4&6I4XR;?7]%U-P#&#\V%Q]2PS#G_S93;$C=3HL_VW@_?/:^; M)O=-;RG?G+?0TS"Q%[Z&RD"@U]?&L5AGKF,$NA^#8#^Q=1=5IGT$T9]SQ[*> M'!?*RL!0*FCT["+LPT4H[2V3^Z*=J4XV2+675<^_S#(C5 >(F.)4R\+&LH&E M3N$79%^R\T00Z)&5=,7/QP<52D8&1I9B[^4FZ0\P22 M0%Y5-9,&$6). (_4.NC7LPVV^Q:?#% J M9HJ@.&^T$8YMO*9J]TCW YCK#?X/GWC6("KE, ]]#XHA==0"*!XY[*.I2 MXM1WQW_J2V;6TZ*I];QP;CWG.+FP6($-_)X9SJ\'F1VU.J_SX>>F-=%8&)&)2\BY,TILJ[C'48VX E5-?P9>6!NZC'YC'_6VKYI(&K- M-[! V?EA?NWX0[<" QBHT#\T[G9!\FQHCL]%-TB%CBT[TBIM1_5Q2(W2^D/] MS\#TPC>WO46PW6KN?J([+G2'P#-MX'D0'Z^F';*:%DXF=?E]T/B+.H=7[Y-YI87]L$_]B_C.*NV"9.FR.)JAVHY:#LU-_ ]Q^]>TM&B?+W;O!U>!> M48B)88U:.QX'3P0@[@(V=JZ("E\ZOF;)$;ZT)9!9T/@9:8&6AU-6U;?X+&!,#BL%#J4,-;"\L-_.RO#SX.K+X+*<6F1] MO'SNI%@^&-^S2.Y,=^&1T%X_HPK?A=M-(]^\K(.<)[T5EL?XOY<"_U)M'Q,( M0'MM'AJ'&_%RH]F)S!LYU%#F<%E&]1]VRH@@7E:?U5A6%,1?P$@"(PM.OJB! M$Y'KKK&3\,4>:4:1THV0P27Z@/$-I'\1O9/AS;0](4NQT3EP3T,GD!\C M)WSB%7XKDY]<\B+V#>4B]G$"O6@&X>WKXQQ.KF:?[5WLQG7FDVF;/CQUO.7C M:X>MQ9MIKG^\B)2:.>EZMH"1L\MS )?G9]ET859V><55%Q=4N[!;\1)W^]BH M2]#XO9"%(:K!I(9[W>U#AT>@;'"@DWL.][KEE"Q=-B<>2"YB.W^OFZ!''_;? MM'\Z[LC2($?Q&P;'"++AI;E-I"J3!%VU:F5C(=!^I/Q%VY*W&TZ)'Q!9BX?*P0A0IS500-# M3-!WV]L!W5R9P"@T58EM90$%GZA.1,Q%G'P^CW#WFMI/@1^X8!1L V0&O8$7 MX"\T"WB/@6O:ZR4< OP#:.X,0%*-,8K"_%_-#C1W/X!#?L:[200.GV7H?;MH MX9+Z:3Y7S3R1TT2E*)0YU,$ LZ,^F$1IA65FQT,N34JQP'MV] 0[D1R,J9 MV+O 7\)O$;S8N.:RR+AYES471P15DVC%D5A$*-$5C>^0Y'WK$+H"!(E0X+1I([OZ4 M^'#QO@%76X/O'E@%UK.YPF6:5AGR#( GG#UJEME-Y6AEWBP;6N%WX8^3VP2H M)*3NA_?.'H$1Z'[(R"VR.-A3$LM_XPP@6S^_E*^-B[G?D5R#X2@$31LIR]\O MD+]7JN*Q*E>4+Q%+X\KI24T<"D]'OJ"R-)<:J<3:Z/VWT09YH[T)E3\EK[_= M4JZ_Q=_OF7;/WX">?KSWIF?NO5G)/,[W!MQ=TUI,AM=()=!/5*GD]8\0DKOL MHQ5_D4T"( B1*I-)CZ5>-4R(O[4F 4YX!,H&!SJY\F5P";^U=CN04K)TV9SD M67$1V_E(3 '+:)$74A?9$-'>S]R5RU+2/*F[QU^"8$:N =F&ZZ,+7 M7+_!4I740ZVMNZBVX".(_GR"4GC23/^W^\J.(6S05!( M9I=<%)'#X;T(MEO-W0^MW49;:"O@[TMXM>\H7NWX(^@7Z#N]Z$-GZ+.^/DN? MM3R;'%8JHGW68D\+TO@GJ_FL[ZY:!X(0J9;S62?4JX8)\3YK"7#"(]"J/FL) M@($YEZ6L@HD-#>0M,$S-!\^6CO==T_IT0=)T69T<@DH1??%E$PQZ"9#1W%Y! M9D'G?=DS;1\>WY=.O+(2%@#O!?C3U4CS-DG6$P8W/$/(AB-N@>KV-HA 8X,U/"3B P$RJ)[Z#725@569*Z*V M.'E>&,I6@;QZ2&2O&H>TH\*IE#+YS$R9-"Z+TA-(]>.)%+S.KF'&-6 ML"JPOD:_9LEOBM;VA>W<]N+Z_D4V/ MD6'%Y$NNG6-J^0Q;=?[(@\$F 2324208DYU^H+U0&-&5 C]J"40YG)93HUN-MRB4+[47VF^SEQG!UQ_/[,TR%W; M&,.VNX(+Z(U^^[*L-LHG^-5,+A$'S"^@?0O]/#) M,6^F[0G9BXW.X;)V&G(1<8H@">I=2;&[-'"XA4QQ Y#^1=U'V_P7+XNAUH,M M(\,3Z,N19-$ ]%\<.Z\DLEZ !I<%WVPN2Z;6)2- &,ERNL2X<]Q]C.E?:A_X M!=;M.'_=I M FPVQ?NR*AK,#B>NBLJ1:'GN:N>>GZYT*_LSY5;V\6N]Z'.7N]>W[;S>7OCH MY&'+\&::ZQ\O&*5F3KJ.+6#D#NBXK.SR"JDN+JAV0;?BI>WVL5&7H/%[' M# M5(-)#?>XVX<.CT#9X$ G]QSO<=_!,_YGZ21-E]6)I[$4T9V_QTW0KP_[;]H_ M'7=D:9"S^(V$8P39<-/!G1^=SN^A_N@>06L M)*&%J>]YX*8\*SI?OV3I:@;8:NX?%+"<-#L37+!07<,UV&8A<*AHB^?A,Z7T M$<\0'8*.8".Y,IM$C, +=#QFY1[![J\M_(RN2^]?RQ&B!;/[\:*8%2>RA_#MZ '8 X MXP&-]P+\A68![V$_VFBV#5"&PU?@K%UMM^$/Z=]<]4]#^O/Q;^.7[V/XYVCZ M]24,[<.?PL_V//3=WNN^IT=?#NNLKY-ORQ_;CYF)GH= [T>C&.\/T]\DK@E* MF)^Q]^^-/Q ,I:>MURYZB0+B8[J*)TJ*Y).ZR*9]./B>US/B__^+]XD%) MH")7S["?-5P#6S=!L<>1I4O7)$\0UTF0O@SA;4="_;==_*4Z$-")K* LHQ<&<%K&C=9,-$0+.8:5( M;GM+KML?-?[0K0!Y!I&+%?X/N3[+^::*1NH(BL@0R"-)%"<:BV(@! MP!M:%FSFN^9K@'X<:O 2WN-K-N]Q\M6>9EF]]'=CG_+%=1RZ,!M_I[-6UW'[ M.H6#[U5/H65 MY]Q]).WX'T=AQS_X_?OB]'1Y^(548N021>H82::F;>]KY>WYQ;&_DY-_4RU4 M$"@K69T_^C7B&F@/ P)VXTHD=QX?$KD&I$41&0(UN ;JVU:D< TD3(E3EC.% M"\S7)5?#$#-Y5151X>[9& MELCB=VT%A@M?<_U'E'**S]P7^Q%)85D'LFJ ,9V59PUGFG=3W 7VHY6BJ+ '8P M'6S]%U'#7Y!;)R/5EJ6W$V&@>0?@WP=)-U)$_CAA1MVK;?2!?UM*C9(MAN-7<_7:&KK6O@30[%R+A-S[N\Z?EU.GW\,7E^[@U?'GO3Y:_C M.;1&E\.7KY.'YW%ON%B,E^A)K7@2/6<5EMV"T^B9=F\=3T1^HS7%Y%/^,INQ M7&,T;]@N=&B.!1:8KI*)DN*'F-:R*0UNGN?5" ^E70Z,'&ZA)%4-X_1WTM,E MQ#ZR88%'D 4PX":UTV"(B",6T7Z4$RLY;=^@PH@JUC32U/+K)E13Y"VK MD&G"PHNY3MGNPNA@F*0FCX0AFX"YMJ-;#_I^Z6JV%ST1]A5N@L^.1]/Q] '4 M0TE)FM7RZY?7$>U>-JM%28BK7AEIB;%MR.N8G6QWFNDB4_EH/Y5PR>:*5S&Z M9(^?1U[9KQ=7+-8M>-^63OCJTC>.L$UV*5W#I=1NSA$W?_%: D^?FK9BM"R! M,=3U8!O [1 8QY7*8$A0^RN,E7*T-V)/M+[;',* .2;S;SFYH@C\44#S,(N> M%I5,N&P\.;#S5E+$.!I3+UZ%WS7 BNTQ[:( H( 1NZV!,KZLNKC1Y=@1QTOM MF%52]JWW%K%4%Q#RFUU5YB@*K:)7F/GA17W+^?ZF]3AV50!P08J9(5V&57(_ M? XB]Y.W,7?DBH6$'AV""[-P\Y#A94#;,=C*&%D"?6,[EK/>/T#+,\]*XN/V M+'W/ S?E6='Y0.#2U0R &$8!RTFS,\$%"]5MOVPDHA0N/+KO@ ^&:Q>$^4G4 MRKB8#N#^+*#%PXZJ![M!!#8;O?0!\/F',L -7PF MW.E<880C7:U"$7@&?/? *K">S17N6CA+US,%#X4!-;@N6ZTU0K0^#Z\44;+? M>8>1!5K-VN-"N*36K8J"AQV, M^;5=?<"C^+;8&&E MNK@8P@+J) 9W %MG!6%3@?#SN/R19@.JO&Q[X,EQ'TF&0HEMZZ[LMI6:70]$ MT^O![:N76#(]"\WP$98$T_DP5X?C\%/AH:GGPE0^^4(?LMGHK?)A*.#O4 MVC-);M\\8Z*R])#^Z>H)\E^S_@$T7&*"@)%E@Z-P+/&YX:MP[9Q1^P)WWN4[ ML-[ -\?V-R4BBPR#7K J@F%J.=+X&(36[O+=$8+.>*P+*"OPZ5SB4EB^P"_S MAZJ(HUWP6(E3:H6Y^#GSY 1BK,UDL"R7[R]XY&)4#,<[*>!(3[,](3=Y1"M- M]7 %)X-!6M7AS@AKM; J1MN]%&B3/Z](:8!58$@,H\_=?K?D$;SZQP+"(V>[ MT^S] OV4V_5\GW^7Y''\L$05A^(/A ^/1)_X/U[/@!^1WW<M S[@I:R+7\\4_/KF)61FFS2# O>SX2U?)CAO'&9\=>+X&[3;$0@P9<>(.O0ED>1?*9M MEBV?6[_A5D*(>"30*57< CARD-4(./90$AF\]$IE%6"\DL7D%%U[I3572N2E MB%7+0$!43VS(K0"5:_IN:Y&/#!AH2W4"VY^Y8&L&VZ%MA$T]+]!L': D3H+C ML.*H2H&L3IY4#=#)=ON5:V,ZHSV)?SNJ'"23P-^<%,$?KM=NB-"9:]JZN=.L MF;:/GF)),Z:$)SKW'$OBB3[6OM>2CR,V1%_O[:+/HU];< (_P[U[>T9^:MY* M]T+5PC?-#R 83>#-02P';[HZ((,G8[3JL-GU]V70_])NY2N\N,@:11CM:AV5 M.%@TL1ES/BN->29X8R1*C/QJ]%PW?.XQ_'N?Z?N,):! ,*)TPY/:3 MIIL61%/1.W;4]EG(#P;]JUL9UWB_."K-1567:XQG?>"$1Q'R#663,)_0:.$ M+(7J2)OZ.@&NN6R29Y0<3>04 EL4/,:6&V[#[71H&W/@^2A@=+(+%[X;P--5 M;DE3!'9BO%4AN?-IQUFU2-#S^8:R8:"JGF>DL,L/U&1)).KXHJ:R29Q18C11 MRZG;*PM[#MXS[+4$M^,(?:16_Q,"K\\G6UK>LQ6GV1&XG?T; L%9,A* M5??S@8'OHUANQ"/BNBUJJH"HNV!\>AJ[XGR&?:)FRIK-U4D7);4&L(C=0G\NIS MK\]'X"RDUE"P083 ,48A$=9A#G IG-3W-57@U3"'1-5_:,U>_$US3>3OF&L^ M('AR3IO)!I>J?APF^@09BJT<[-,$$GTX^8:RR9I)5F01$PCKLO?F0?-"\HC' MOFPCF85+D%)>O QDM>V.J2S?!= #.,OI&W!M<[WQGTQ;LW6XV2'"%\[*)0J> ML;'8$QN.^ZK9?TQ7<"[ P"YYICY9^ON#JT''Y%V>RK8] M/\4*P7/]E#* _SHJ OB/WQ"6"V[;M, 8:_HF)@:N =>'ULDA62.(M'@\EAU(&'B+I;]N\*[4KS#5[7>2CR?Q.%G&+V.#)1 F* M #2VJ8?4%"[OD]_*(D*Z" K$5;^*;DQ@WTS;W 9;K,@ROY=.:(1I9<5&)Z/M MO;6<]+0/LO32O\^2?0W);J>L2 GI4(WD.7DO&9?;0NHCB[1%!2_X MB6T[F"KX\@$D&I5_#XBU3HN:=P$)9$GFT]$P<0"(D>.C8Z4D,436W>!YH%#82I&"(D<6B5HUIZ9/7W@^:9W@(2HAE3.QT:Z3-M=?CN*B%,".V"@@2B*@[A/JAE M:_KA+I\K[$)NG&7 C91>(B[UPD=I%VIK9+&0K*!8:PZ*& M50X\=?%$K3?&TFQF,)Y50@DS?8+206O>0TY.B.8',$8;S5V#D0._#($_1X)! M]:X\5*V%KD:H0Z@$!F'TQV#Y(H5Z8()*6)#H!?C/($4D'1Z%W12'!#O-,0P& MW8%!H< M2( EAX-8L+=NI+GNGJ:#2%U4! TWO0E$JCIT:<>H1NI9CC1;,TS-/KV/R%W2 M\A93TC+Y0%+6,OG$>52U_"S#3E*]J.7GN]9+;> 9S+8/X(F2+O&KM'XO7]-2 M @'S"8VFQ[$4JB-M,34M)9 \H^1H(J<0*-_UB^*]%Y]B3VHOMTPIHCGQ,7#3 M*6<&:.DBAN5+5DH@^*IJG)'"2\E*:23.*#&:J.54W9*7K)1._$Q:OCR=G=?T M(@L@=EOXS.1U_H: D")&[R*DBZ! M7/6KUBY<4)= :(1I9<5&)Z/M/;'I"^J=DAZ5##GW.GDNJ'=WCRQ/;-OEW;M] M%5E.Q) ESH8:+OK5NMS>RKU0-9!4B79!VY.H.SVU:*;O-J3-2!93Y@+E\3H< MAYIB&B_+[<^0V_*Y7T7HK/+,D.IB._<]U>\[R%_LW626?BHAI!K1-;QO)(D* M8M J*L& F3Y!%K $.="N^0;'>0-'X'L+?0.,P((<"/VBP//#FNSOVL[CSHS^ M?-7/9T;/)[\-EY/?QKW)RV(Y__YM_+)M9%,?%3E>9-[2Z<6> MA=H2X)'VN>G]04RLQG?)DOIET+_^+(EH\9(@R8^10ND2' *+\\!#@(;3OV@3D6GE(PM0F) M -C&"HFV!*%M!T881;M\=]A%>VBLNFC)A+;]\A"K:&%KCG6;:JZ\>"FDMOT@ MM4 [C1;*+&@IK_3+V>5DPFJ)$+097/JF^0%R$SU"L(?1_O#!%;;($J:OO(@@ MRY863.(A5^5X9(X/8]LH"1C4,\N_0>N/4-8&%RRQJH4=CQQ\<2)2*$52BINK M! P."J6*! K$0E@Y,6U;4>&0ZZ$B(MB(5"LH>*0^R&9;+B&9S+4H$0,\9HUAI@.(:*O]\+/A_'#WF$"ET B7UCK MIFEE<\"-=YRV]Z!9FJV#Q08 _QE]%J+W85_L.7C8QW0] L]C*76&5[]<#?K]?JO0:A@)%2*U";/4 )/X2*T$8.*6985( MK0IP$!VIE0H"C/(K%:D5+/SV0@)%FI:PL^":RX:"UG<5+D9UN2Y7$:'$_03? M0380< BC@X]#_@><2?!->\" +AV$BY"V]Y+,/D#(0W1 MY%\<6X^(P> WS:U5W3I 9[A1S014[JH)>8RQ$J: M"10B-D4(\W(F]%%+V*6H52@MR#O8S<_,"4(%?60#1>NG 7YN"5(A[>8?)41' MNR0525&S+#OZK5]6YY<=2?X$&@79?Q)FAX1$+Z#4PD#:=/5DVG#IF9HU9<$&-[6 +W%"^;'CA'O8,\"6&)V*]$E( ,;6U,R2^'MJJ#1D:H;5L M15+!82]>-Y4?^CS )H@O8NLQM@C*H:.;SX[GC31O\V0Y[\C>!*-@&U@AV[[" M PSZ]7 %CPE+[0.#/\Y15(2:"!8TDF;5L'/6V<+);]"R0L%1W=F"')<2WCR ME>.".= MS?/,E1E[OLG0$_P5%:'9!(MBZ-ZKLEES\ZQNV%X *XHY,50_JP+5 M=-I (7>6SD-J,0/C,7!->_T"/OS^]3?']C?>"\!E8HH9/"N':R5 6B-G8H1^ M43#=.L.I,@6:;I@+-*%/]="W>M''+HG4? FTM^T=D,M69))*M93B..D,BZ>W MRSD89RX0'O/A(0F>D4 T$U) <+!,"&&5)@@,CN3*^GYO>^$GOYN;;94F\ M&5S?RG(MA5$<)^%^9AK;3LVJ?C?*<8&YMLM M%$SGG)]=!F"-_%"K*(T"H<\NX[0)Q@C* )%&D78TX'E6,"T#T,X_^A'Q!%)9 M(EPTR+_G,7D93;^->\OA?X\7'8@('::^A'0^P(_\08OXX'O\WKA2&:]60/+L:GS_DXR5=[6OC9GF8;/>OX M8?GU1L1'BJK(-FK^!9YG +D;B?P1>+IK[FB5KP@]9%O_>>;FESPO.=(%^5A> M@2^(X^(?6Y="<'Q".8J53E8G!8A]51SW>'>+0J2+H$!D_W("+ZXBP781[-CTV1)4?_AS )Y@[ MRER1)G.I%/#.$4XDD*@24BMFP+%2#A]8COW."B\4LM5Z!0+# SZ@G!4\2*"H M?"O9\36K?5!$_#LQ#0%*V$S^M03NEGB\HG56$S(5:!=T.5@2M5+$B/$'--6 MK8TZ*O]]SD\_$^"K&^#9.*C'@*/;C2%-U6&R\C MD=5;5"#@7I;F'2:[I#Y#V[7=:^=Y,=#<0"5IE&H[KQ<]:8TQ Z[.ZG:F#Z,< M>EAI;,1Z:&C3>0I\^/=O<-%L@VWXHYFV#PO ?(?;B)OE5YGTU5OLEA-]NK>- MOAUO,[OXZ[T ?3Z5UAK^6M$TUCL9'#<'CWH"@$B9(A"LGJ ->L?0,-50"@_ MH.1:I/ 6C&!JU=J-F)CS& !TQ7+Y#JPW$%VSK(*L@N&4Q14KK:J=<=E8@Q;9 M\MVI"*9X%)4Q1")1K30,+H[ ;Y)OZ,4?+ T2E53'N-L9R4TO.^, 4;Y@;H$#<%4JI^84<27BBJE2W@10INH M/ MY$\ .K/AN)QYY8(P_=-B46*VLU%C*X8>+T*IY&(,(3#98:W[<5B)_L9 D MTVY @H>46.B#KMT*RD3LO$7CGN-OS$'%@(FDNGM)OW#E^E M(/7IGHX*W*]0@7OS^/6>&WV^YSM*NWD_M[O0DSV3:9TGC;-K8S#H]Z5:Y@R9 MXD1*5'M(].3&X/05KB(;&)-TL5X^]5]AQ"YB1S2Y#16OK'T;B7>(F>;Z^Z6K MV1[D("KLP[U5]/,%;>;CY^%R_-B;#>?+?_26\^'+8CA:3J8O':AVA>,+96>@ M=6N^LLVQ@!%N;@_[S&\(-6]*C26;MF 145Y_B"-=NCH> E9%EG;"K!&'@_TPI$T3K)AL26M@'R+QHNX001@=@ M:)E#]L97Q(K4 ;V7;'@H);,3/5&2:K7RRQ)_SG2U\!W]CXGG!9JM%]YS8NFB M&$Y*DRS9*QM\VN() &^FF<:3XRZ ^V;JP#NXM(?ZGX$9E2GBT"2,(RJ&GKHX MTDA"6>T^L 58HS7UJ/E:6 >?V_=UG?=]+<9?T>._ORNIJ2P8X)043<0$XKIL01WRYA+#HU"U M4UK++7*"Y/+&% ^%;6_8E87_#1J?KJE9![\(U(N(8T0,D#LI!(42A,JYYU?P M.*6V25HR $M76=#1P#F\+#=J",LTG4OR!NP /$%&HU='D:?KA^EO1H'G.UO@ MCC]T*S#BISCA_PS\6\\E1I(.8&5A4)1@(H8;:F4>H.#Y=/75<0STJFMR+%LX M1X&<@ K?06'L3/769FXP$FJ198?*%@NA9="! AH5*I1MW41 MO'K@SP"E7[V%M]%YPX@W!0D!WQ\6X[]_1Y'$\6_POQVX W/*!EKH$-.\^3)X M)S,AQ@8+FDJW?@F,+; :62GJLLOAE$CX*5)S3?(%F.C4\<8.N990-ZSGT@G=3IN?WA1&0;RH:%"KL!(W&"/#2M; 19$HFZOZBI;,)FE!A-U 3BY%/NC\#2]L!X=+5W M](S+LZ/9PWY""2$EC-Y-;ND2A'2BR68PHP3V4Q3.$Y#@A"QMO_9D."'XL*5J'^B=J@?'=9UW M>&(::3OX&VS=1)XA%,-.9=)EORX>?LL#^B]KY^T3T(WHR?#LL:#$47K9=CJ-N,V0J,S,C["QIACJJN5L-KN=#VS-;TT1 M!/T3_SQ ]%@VETS/<.W%Z@F_M0.EVY$Y_1G^N-7_W%&VNI_1R\[)G[U:E9?& M4 =QQ7!<8$CKU\@VW'I, NB;^-C4,/.=6\G4?(N?'3M8'A#$U;!RYB'>J(3,2)='S]2L=V=ZF, MOMRB@#)_C;XDO?&V97,;#E_E1_(G^G5SOLH!UKVDJ0R5_6Q#/VP/V#$9BDP= MZCIH$3ZPC[]D)I/Y.<>@7/8*)7G_Z]$/VXC9@>16G_C7-;A^ 5N(^?NG=HCS M%!4GJ#B9W *;LA=LR0!LRH]__QY#(/_[MPY=$)-,PT6:Z9\?+IR[/P/"X(?C M<.(ITW]^A+_'W84%?_S\]V]7<37X;X[-M[E8J5'-E^M%_N9__D,FB;_*]=RM M6 .V-([1Y$T,R\'?/X/V?_\,7CDPY<6_?\O*-.:X"PV)D@[LD6+$7=.ZHPG+ M_0L-[B?Z>:N-K#B6!A9WAFE W$"9W^'>H!W\J<@R-/P_48."#21,FIAG*&X; M0U9 ?X@\HK0,;%D4^+RH]24==O-:D8C/6754O9_&^QT64="Y,Q0-4<+V$%/\ MB<^#/EA'; Q%6J1)$<]*[%.9Y_OA2-*(N&S8P_G8Z"3YV8^8 70TWE"=W>5, M75=IG,U M.Y'.T;DOFN1[&=F!NF7BU9)#,N$N&YLBYAZJCQG6O-[A_3#[1>DND1/+' MOP12V.DDD6#HY8## 9YUO#G/QH0L*(X$M#X$-F?(>63;K88L,*4\L1BW"H+" MF.RL'F_05)M%[T!#CL=)"AD"GSG>?&C*HJMR6N07>R4V3H%@H<*R;P:%N? M2E<6#53V!ZN!T6I\"!O.+#&662+>>JB-:].' LVTQ"0>WQ!H#GQEB&]I%6>, MQ-<1IUPW*X@%[4%5%+-DL8E:7A^W?DV)RE!2=#2D?WZ4ZX4W% OOO[[AN=@F MPK;TEAY)@\?GAR?*HHB%.!A#M3#HF2VD1XA?U:'OGNT1BO-TTQUJM2:93C 9 MH3%*:5JKUNTF^JU+FBZV"DR#=TU)#:9:=AP/RENSG"2I2?VIU\QSC4:RENGT MGA\Z".C_,D222&72Z?5)+1BR\LA(.,I',0[%,XOKO!G(8+2T!YZ?8J6N,KL/N6.2*DO53^/ M"&L@A"\0LT##OA8_AM"MFI*OF=FYXJP:--PQM,/WL8X#7:<&]0&T5PWRZ%U3 M]-P4EI'C9OO+2%MQU*U>RF@D".UN&U&-GP$K[&/4?+&*^NF(05O/2'INP[+&K:K 36YN*>K?=HVX&!' 9V4].TVD"B! MA@D!/C^)1/*Q(1@">SSIUW0X*_(_A?RVW=?LFO3XS%5Z U:NI7J))_Z\R'<[ MX'XR?TS&51T8C]QS0U7;U#N0_P'ROQ?\KZXV)^0 TQ=R=*%-+E3>ZK6(D91/ MDNR.&;)^PVKU_1@7$O&&IW0:&:1_4LW>LYWL ]5^2PC.8H)$AQ5S4BU5>(FH M<'RME%#(V:(YD@[HHA.QXGD\=K,/\OVCVAU4%P_T0,FU!V\)Q)<80FN5M/'> ML^@EN5:F^8%:K1-4@^<$E>F7%N+Y6:$E$H-,79OT55Z>N0B55#:?. ;)S*)=.)7 P&6AW"5 MJ<\(RF)SR!L!@M?/"V:<--G#TUVBJ VGT/!@&^I ,="HF]#VMZ,0BAL#31F! M@/T6Q)L:'45'31I#'GWK#(.1H:'8+@YG^N!$?2?C!!,G2+%.].OU;GDH"SG= M>2C,1EP^D6EM$I1Z2_O M^=^-_1U4+-GQY1;Q[=R1\:;:SQ=]^A\=T[/]3_Z&ZEW('7\.KW%G)9-AM-[4 M+=/PMV8V-4$;NHA>4.: C:FV=+86F7ZF7)DM'#4^JEN>1PKQ,8?W*8+W0S^, MOORDR/CS4(%VS)\[W+MGG2M7MJ/H+Q]>=N? $1YV\%%&+YM;FB(IH:*+R8J. M]8EIK'E_<*H__EU#9-]<__ZY]SW_+@>X&L[/?7.W_+#QBA+^-J[KA[+C!.T' MW[=_67Y>/O=SBZ&GYR\KR[X61OH8*'+9R %+<8$6LKG8ZA8;&P*N52NOVHYKSJT"7G#VT3J]76I2=5UH MQ3DOT;X7"OQ@P30NGO-?KM//8ZK3IU'J?8^6>NE1P2"4P2);ZRQ8^UFY]'7\ M4Y4Z?2;;[;T,/JS5J6ZV:VO3,2$H%:[C,0^E7J9V\;+]!5H],NP^6JTW>+-% MS%C9)?A47K :M.#%U8MG_1>K]9/!X(V,W?>!8F.K)V3^O=/+4AQ->AQH<)-2 M+VN-%@^C"V?^SC1/R61GN5<4!MI(]/]5/ZO?5O23-YIN+O3+7SZ."&83$>^U M_G81,1,;5#'-*++ 6Z6\46H\//0NWK[_/$0PQR.".14B@J6"$5\BP!LXBJP M>\$##3:&_O2W3#THNO, MOS;3-0)>G>KY['IF P(@ZD=&OC>$0O 5)EWVI/HBO?KC,6SO'MEEN?TU\BKPH$@FZ@]D[RFR2_LKDU]5-C<@ !%^1FJ^1;CS;YHG?MVD$Y<(?W6&N[8[MH%*T)S M9 -KK$A VS+ ZZ8A+$.MPRG?H2=36Q$\>UZVO>[(BG=V].J^UN;TQ ML6^U-G^(ZV')'U'@15$GI$8JS1LJ/_;NQ^,9?;^(7L+;&\P.YW,G\+\3C]>A M$UR\07*[BCO.>8YKZM#&7HJ3&P/#@-K:5!<F3'S#HTVH5;Y_; Q*^8.8R9 I2AO8,6K^KVH:HZ/1X1R.?78E(QAGMR56L1+[_'5"Q9[)7=!Q" M!]X%@38^$[<\?SK(FN[4O$<*H] 8%UI9V59DXFKD(L41\CR_8I/O0US?\#QK3G8(9F2ZI^;4AGV? MI[5B5XB]Y MMBO9@L",^!$3G%)[? @W[/$^8HY]+,Y%/$UV+FD'IL:;W%M\!%9_I>7X+=.QXGG(K M.9XL1EI#S77$Y[$Z'#HIZSN$,3_-\_Q27# ;$0E&I(EWY"WA:MU\T38]JZE) MG#%"+?W,K;PR59QU N(*8S:4%;< )+^^S[J;/-3 LIY&\PZT-:K)C!8(#6IM7D863_@T$S7P-@_U6\=-?P(,@JF#961P//L *FGRP)E:2BQHLYJC&K%))>*;)K3I3/L%[*"G1J!%'5 M9( Z5G;I%/<$52NB+HLG40(9(,A@V),;3Q"6^6MK$B]L&"/]440]$] M_47@( \'[EJM;\8P#" KP-AV=Y=96/(@XW3KD%!! W:7 %XL>!N#P@_CT#M>W^(V>GTD*?J(P?'D6U-LLG M4Y%U&*Z!VB@$:K=/A&W&7D]0L8*(RE])HCZA3^I+X)H%;HNM!O#H,F)D0F;BDNKC=E4A7PB/NN4JF*R!/"R?YK,V#83 J MU: +>5L'7,[2'DO/3=E9%",;V8^0B?E9X;$-Z+V(>)V^X-#97/&#$&2;5*'& MSQ[S!+ :PI,D\!T51#9"%47_^PNP>/Y+E+X&C+9;IPC"TQUU(M2GSR7HYIC2 M%8S1!N.9KGXY2C&>-0"D"36US7>U#*?+!K48&WDHQ"_*7OPM T!GJPSXUH[H M?.2P7>8A4Q46Q4REGWK,3.M"Y/#RRYN:$>7*4=E]X=+CC N:.2M!>;0Z.DKV M=..QJ;,:M^BEY\-*OO7H%2.[Y!Q.Z0M7@-U97BI/RTB-#!5#<6$535DN&ZC_ M$;XFFW4T)8Z$.#U!O/5M^+ MK*/USFFO]?S+>5\&W_>8GR=CO"$DI.3H01MRW5DU(2N-UF,U?V7\5YMZ[\W% M768F\,&XG;52;]JF[$GNDM\5LYF^+Y;S,J$7%=.=STC/:426WP?G%^KS[0F> M+?6NR=RI6H]GGAL*@9U9?N7+^!'<#*O($-&&7A^J65H M3Q5II;R3A52UI2MT1@5#-Y51GI/ND(BL;78,5U^?[&5P^-#UO$<+:]:Z%U*S M;BW-Z7HFN3 :$R5?C>R&862$]1-O6OXE:57=[&-G-C=T0L\.FW#HI,>>=976 M+V3QKCXNG,*FGJAJ/UGFV E'T3VRFK,$0(TQ/Z3/&L,ZXOOI1,.3/\R4+#'[#N)49 @\H_"D%)$;C$A!C!A M91NMX?=2 )<69#LMPX^R"C),X@E6!XRG\E(K 30^3N6YR&V!7:Q5$$UH'# + M^NI3@1!*^:90+/+5C*MX"S%Z!XXORRR()@@.V04EBM$:ZJ!UK\:9![N2?Z1& M4_MJ%T0$!B>MB]*&+E ,*'/ QI?M+1'0?:XEZ"G3&:K=]'U>MYEV(AN]RN[O M+&&Q?Z[?:H?FI!5/7L&&-=,+;?5Y<<\IQ5:C)@L]L=.^8N-=V/BZJ]WW+!]9 MH.';-?DQA"XN<;]]=M^O]E)5P #GJ2G0P>NG9]MPE79W5$+/.E%@;R&WVE,E M;K3;:H$ SC[ ,5>1=71 XA*);E/M7(.PY25)-N# M\@;9(BH<7RLE%'*V:(ZDR&J^-U#Z!L&N(/V5"%T$5*E<*]/\ M0*W6":K!DS)](4<7VN1"Y:U>BQA)^23)7NIZ M_SMJT@BDA[^<;V=FANBJ,_W'GI"C7-53VEKS27L:IA\BBZXCIOQ-VQ M#9<%-GL-4N]56UV@4L5J?4XUXH)9^5;\74_V]^%PPUCQ=QQ/R&0Z)7,5Z(P' M0AV41Z/(1J%_@;^KJ5XJ=PM L1^ YL'L8O5G"5$1V-)X4853N'U#Z*I-V; \ MU_$;4"_,B8TN:Q XGAUD>P%'V8Y*<8ZKZ(B.C>'JB=4?><61-!,_>U3G!=LO M#",::C=#>/WXM!C=Z_]>]PR6+5XCUM4K.%-\)2#R64(K78=E#=O5@)I< MW-/5/FT;<'#1H97]Q+IB\]>VX7]WHR@UYH=3.5_I$;DV5QG#I 8?GC MZ/L815^X^_0I5I&03[9&K6Y:XY).,0GSF*KT!*]=2O<13=,\77[G.DQ&5G? M,"IQ_<@EI9T.&1M[ @:(6PU7KF0%W>49 4SH>:L;6244G3V![XN.]7Z"E';I M5H/2ZD1\[ @38DAW 1%9OR0J^PE?CHQW%Z=>EE?>L6T^5E>P05=%-4-W+6)B MMEB3GDZY636RJN75.M3;U#F%,1/)KJMRIX^9G5@(^%:#M9H#IMD.X)<5,1K+Q#NWSGHE3F[PW1 M,WB%ZV42RGP=@*V"@06P[;4D&CR.54&Y,H6THH[%;4 Q@ M2(CSOI5E#NVPHW%J5%*%R@P2W;)&S\T259E'SPO]PDM9/PK=HT?PDI4;E_X= MQ\NSF'S@+1C4$H0&,O-Z2IP^*%[E] MU=];HK99=A4<\)Z[E3]_C6K4[#G_;+15Y9[N-QL).@VC=PCD"^]KCH!$7=>H M2(O:BS5J-%1KJCEM=8BN_CAKE 0Q-QY$SJ/YO27JMUBCUE>@8<%9?_JH<7?P MHI_W2DM\4GQ.9O/3L9ILC(1V.B<_6M$[@?.%%MTOW?MS.2+RXO*U0R+RHNGW M$Q'_T:IIR*;A[]L,@*$VAD.(.MF0&&A-)+53[,^X;KRY*%9)I54B+\)B^Z82 MX[_T+;9=!>A=QME)UYC)4SG?EB67XWC5] K,@UBK7(;$?))%=EUC?AL1.6Z- M(;D6T:2L9IS0G?B4SE@#!LRO$G-=8[Y"@/9F^V!YR9F&8VJ*[+C%: MR[0V1/WB1=(8^8V6V1_&Z+X\RFF"VACT)Y4<4WUFGB\2CHL MS$_N7!DH=*['+33EL9RO6NER]#+=(J_7/FEE_HJBII% [8&5>5@9L*((^;J0 M)'0OHPDSQ\U?$7P!*_-EHOF-E9F+3UN$U[=['*3I9JE02N6\0B1W,2.Z,G]= MX>9?K?".OM:1T+BFI(8@R)/PH3T=<1J!_5W>?2 &=B5R.FE'/1PNX+TSS5-" MX&LNZ'PG6ZXXQ_8'10ZTW9'U!(0N53P[5Z*"Z0:5?W#<0K;'Q6LSMCU;]*CRZ.S& M8218?]+*EN0+#_*RBCC%S19P\L].5RA.[&(J)7EM,7JQY%,6<2)/YBSA% MW+3^[86[F^1;R>0DN^! 0G&5"F/7Q-;-J07 M:GA#6GS-TEE8VYF)+QM@,3<]P]W(O:K9\Z)(&,:(**:=^TSI.=M(@LAJWL. MVJ'7[:FTV6N4WHC[ODGJ\\42R#B1.95ULJ>V\:] M$NHLY'\^%C@&F.0J L- M.WD?W=)&)X95U,W-7^+HT$IV1$O@'X1XY[&9 V:B/>]%-C(4*8Z>NM#FM\ M^;^XJ[U\"N%Z0D9]?"F,F&2=:/%;6>_,1NX9(]+$.];"'+!MOFB;GM74),X8 MH980ZXI8OY>?! %4"E0O/87\ M_>!"[;7C"':"3([]E-XX\KZ/U&=S/] "SQR?1TQ77SNEIO)%"QAC* M_?1D2BB#9S)=-)D';7XU]=Z3MW&L*[K9]/1Y&Q^Z*%N0QWW):0)!Z0DD%!KM MXD**+ @B6._Z:R^^6P5K31LJ(X.;2V-LZ:"/,V#+(8_[C\ZPTJLD!FIN,'M^ M5(;MX3AWX3P^-.'+X/0>_^XC@CQQ3<7R2)/E@%M/*HCBB$[GH7B!_9-;' MP2F?T[B+VA&)4R*ES\RF[CPYSA&31?&^Y4BC;&L1V?V'2"/E2Q.YS[I)M;(F M%$-!WR/MC(B*M.!(&6@PN,,DNZB!)]/.:<#9AE_'!C+4@:VN3L$*]U"W+#;. M32@Y671+;?MA?J$.[R_O>!W]_G>0?(W_ES3_5AMO%P#YE/A>^H=KJ MUC)"ISXF *VV9F4NXZG1*Y)PV7)P#".NPO&IPI'S'-?4H=V&FC]29ZQ82Y&H M$\7( ^;^G()P^/GI2:ZC0R"J3_%.^K%;, MI\[32*FT:M*%6D/G2]>(O!7TZ3'?J.+[*--'&F;UA.<^#H3BI)/BJ.ZX7""O MH/\6)L]5$MZVVT"JNM'%%_F#"UZ87:.1'#_Q?9-U^TYY? ICT. M'FOD6'M^S/?*0F7X(*=2U6=#F47L0%DB3J#_4Y\62/,XBR;=4HM#H!>3DFUFHKO]$GG$?&E@G=E S.KOS90N!?GU M]@(G[C6&_I'D[:H_4VBSFF:Z>.H-RUVGC35SQ4';?"+2G%+5R%GR6? Z5&1W MWU^=Z4;AGM>F>DY@')MX]:+I"8!!BV1F0Y>0F6.AX:L.'I>3D=&O?AG6]<$Y M52[EN2?+D@607W2:*J7*4(FL:W0 %;ZF>&66YP0$'2>/M<0VFY[P]N!CJ_^_ M=KOP*S=!YI$R7D Y;X/9\H9=EEP]C8:_YW?J3-=NYF"=3CD%!7)=24X\E[/@ MB9A'SH$Y_R4"K]Z!?#X>?GS04;X*]'3W*?_"54\7+)#%HC.C]'2>%JA)BVCG MNETY>QGWX)RVXOI5("]!($^%^M%SKD1ETPU%I9+ 39;S7J42O1MR?R\VK^,P M?2KS?#\<21H1EPU[.!\;G21_=IWT[IC4F7)WY]/%DUU]4BJ$8J5@MSV#Q=IS MQ")RGWS[]H&CB\$9-W;H0KOE(:,=VOYYMQJNP$&3J(?DB1?,9J+Z\%A_CG>$ MBL(:K?NDT&Q$KS;E6P<)CR7;]UJC(G1)XB_"G0/2.&08CP>,[)*NXHXW>9B' MDD\AGXW,B=&O:5QO\)18=#DO9Y5;I;) M8U(^F^'T/^+5+P*PTF%(5SYUC=3 M'7"GUH'VO=;XD2@_>'65FN^G^PV+O1>Z>M&< %&E1V[D/*%#_LHZ+G^ 2&<$ M\2]=3O4Q&_3%M4_G-$3>XC/3(?.P=_>9KQ$")VQ)#'],G/NHJJ6M>JI1\Q@,]>+>)80<0E?!9HMFUHF4@CRJR.BQZ^+HO*5-$6 M3UEU(723G;2T2-$-M1*Y5>'=*'TG&2X#%>.GR,UF9 M)^RT'5E+^*KROX_*/W41R8/"?5*=3Y!U7B0XCB5@(T[7]5Q"*;9UQ/5CWV0T>=GD=V(ZD- M"Q8'VJ5Z3VN/*$Z,K$Q_?=&_L]8L/7RNY9?X*\-I(NT^B NBF_3JDQZWL$>= MR-HY7\_?J!]92:M5.P4JS*.JL#(@!4(1W$44DFNB%CBTR;:OOL@A!5Q'F&$E!-0'_@J#'.UI=%@<^+6E_283>O%8GXG%5'U?MI MO-]9)S#I@2WUK^*8#$6F[M CRWOG M!3-.FKMO#.>%_OS "Q47ZF*]-$@+"RG34"&5$:H&B).]WFCGA;[2P0]\X'W. M&-C0$:=<-RN(!>U!512S9+&)6EX?MUZ98O#,!UZ:8_.B*F9!SHJ/:T+R85'K M#+)Z-3V8O[9%BQ%W3NB.96\9R_]IX!VIJ+1L.D>:)#X&N:(N[_W;0FN_$ZG 6 M:YLZ,/Y[$WR#_NL@?37\[U]^:T=YAJ@CU&?PECOT9PS_0X=_X!> V-B&PW]^ M_*?3R*&/C@6,K5?Z?]\9IJT#+>AV!OWYA5_]^+<#!AJ,F<-8#BM'PT6 P+T@ M$@+TC[6'E)(&@7TW,-UQ.+* BG&2N%V/-B3C^LMM\N_0-?A1 IKT!VX1^[\Q MRG_RSQ<4WV*<3YUMO@5?O=+]:=F"EY(XT)21<2=![$)M,.JOO*0]:IIK*DX7( M&U_YV-X[VX%I(UE;/8.Y%?-ODX_]A_#_MVR!NZ#W_'RQY(H$YX&O:D4R1:?( MU( 0DW HB8R<)$2089(B9*@D23-$9D#!'X$T?\[D!WMF3NV;^H]_A7JYP^5C M?(?M?R:-W#)/G+S?JGSAV M?PE@UBO OGGL1=J/?[O &2.1=DWC)I:_S=TB%9M@,B<<._6AL6\/MM!HU_[G M/V22^,L?(%K;#=/P#1U%BH6&?!LO?;_F\L0,@!T:&2IW>5/R=?)&@W$:JQ]KW;/UI]L:H22+>"@BZ->!3$7B_(GZ=P-M4&^(U MW_WGAX(Z0.X;&K.I#0 ^M#XPYS_.0]0PMT1;!('E#?KVB:9*6&, !0KY!%GB M<3)L:JT=^B[)Q,.1"6-".<8O=$3L_^X#^/_\)Y-BDG_M9< AKL56HXP%PXPU M/=OQ@.'&7#/&0[\D1 !&DHZ9=HQ,_"'_&7R!+"=W#'$CST9&!V+ELOQ^C)5< M;%B1&9KY0@6Q?S'*^#\6T%SPZ">K^0<><\Q/+;N++=>;5W%T)R-W.ZZC;L>8 M]W$9+.(+9![&H7$F0*TNA,*._@:!%C!]!^3<.=%,R<'_?$;PU>N@'BN BLU',I21"31;?T /G,#/C5 MM8Y76@1!QADBF4F?T>Q@CK"GST[ -API#H:A6T>_;!!1RQ;HI%TG%FKNB6/D M]%S5^WY0^Y#,YMA\FXN5&M5\N5[D;P)9+-=SMY%1^W]P?KHV9<2+"GSJ2Y\,I=;O?(_>_40R\17<7#QH=4N8O+3__ MM(EEFU.LFTYNZ ?:OFQ(IHU,*;\O_TQ##B^#)Y4HG52&@ M30\>%[.$!@@6O9AXUQJ*"YW, -Y2>T7WOP,X9Q>,MY:1MP(KP5*W^^^5B7DZ M*?FL6-[9;8\.F)?##6W)[V_3DD,X+'2?G,JX7J\(D!\]E1(MH^&D9_B5[\(A MG8[3Z11-,LG#2'Q;];BF]6EZ)W,JM?.'+^?8/S*1RV''GI!'Y,B*[STA$^AT M5MA)1JML:BA_T/8(&,JS__G/(R1IS://64Q_;=OP0N M=)&CK"2C)EWK8=86%XEF:H36JYV6W>)#IJ#52(7K]I4T0]8E<_&,6_[V'DQ$ M78](#BI*9NVE^'L7 -W3^("OFP,[ENM5!GXO&?B6>#^[$\G*LHW3^H/_5!4# MDAM1['R:3GEMPQX).8TO)GLM3BT6W[=_2=)T.AGS3_,8(+@".-949XLS[@Q< M'OESZ,^&W3%GQF8N0K?3Z],YS1:H22X^*=,SM4_O;B$<(OX]D%3'-*:*IL&; M([80#_45VY/R\A5!N)!DOEO>L)OH9ND;4#$&N:",_:HV)MA7#.Q'J\R'6),JPD'I_F MB_=40M)"_>0+1L)+R*A=8$.(>2A].BT==#18+.-5IU MB=$J)"U((F5XWD#1,51/'T_B4\4ESA]T6+/;[^)U9F^<3MCHVD3=#35SMJ3& M\G-\9@/K;F!#H,9G:/YOGC%9_0X&CJEY+OP+Y]/O3C XIQ'^^[TZ[8TI?EE* M]BL:_8]SYP1C*Y%%/%HO1[Z]0PF4W$B8P[( IVQ78L@NV=1W=/95$V&D.3:-W8RE6HGO#)D!,^/BQ5)EGDIXO4K\?1E+*8:,)QB" M.&)%/EO,^YW'-CXKP'&,VE_G0>$1D*F_G)@+-6AA=L4,GU\W,;34:QZ6X!A M*-Y8)B*Y*)R$;EMCVDBG#!*GH WEF/5J5B;UQV ['Y.5W+M/(=C[]A\&0!J0 M"7(H4F0B(S+#84+,P!0E#I,2F08TE:$2\LN] N-9>2 TIU<0 _@2'Z@NCD]]Y7$BUIJ_?N#U MU&1(O]N^WC;*.HH;' .'0!K')'RW^*\DA%&O$\$_06 A<\1PSTV(KTF&PT"_ M9 38P#<8@P,R5^;_5LROAZ<,?.F'RP-(IA&;C17TS=J&WJ;->T(,&PHRJ"GP MB>3YZEAWZ(XL2&K@*]I5A%O5!E-HC5HJ-W%G;>]QRK2ZN5&0&X2/+"T=%/]N MX9L8DJ#8%-=CC/UOXA877<*'L6)^(9=?V#S9".E^Y1)]XN#LAB3^=C@+=7B@ MPE<@TQM,*EOOECL$[[3L#> A=C-!-SKE$6^2*W;DS)^/V-#?'Z&+0LH)FWC=M->;KK]7)UD^-^D4Q M5O56"FO9D'$R,(P-%C%I#!'IT,\J6HRAGQB/ U3K\X!WL3_(,'@U!DYLJ&A0 MC@%-0TWP660< 9MX"HY_N69L ,,&J.=3'$R.R1XN%NTWM6PH0=^&)*F@#[\P M@!/[ _6,P!IS/&1+.&-<8-A>'B-VQ\!],:'8#&P/&H\X>#BT\^*Z>88!,!'7$3$L(4@X=,5UD4Q! M#0F);1IX%=06,8A6Q$60. 8D/S$@#UP0')1_H3S6?6 !M$S'?1%7;WL:#$C+ M$ FL)=IPY&G!P08^WHG]@7],_471U&W8P!TK_OEE"Y]?_A1]$DQB-8.5JH#. MG]]7!VRP%W,W5 D;.B!1U.TY0S^Z7/Q>IUEGQM!Y/YGKJ@,BJ0->(.A]^@") M'(AIJ"\8 Y*$](&-;Y#SA<#&B^O>;V.(O?&]/S@Z4B3H+?9RA4$(UA$M%C?8 MJD#=H;47CWL4&]GFS!TO?[Y%]@7TQR;#H6+XB0Y^MA*VO"CBK]=&Z/],_K5L M]F:#U\>W;(B50=CXE;$N6RK&AI)#'GVX.6Z.:];SB]*\]F^8T.*]L ) M0YM/"XV<0 @@EWQD4M@")U^V'"8&LKCH]N^)I#7I:%I?G^0KN,^=MX^8!#LI M&XDQMV !G2?;305)06#5;[?,:Q,RE9]-2:*K-"O.7,W(-8\5F=VWJX+\U"ZT M4UDU#HRD42.R_9PS0BUWWL[6^;@]&+8T <@#QIC.Z';':XG)5' ML^N/Z"-QFSR0>W=<'U3REKB\ U1'^_#4;3KU41(E;U.'^_BUPT!7+'QC+)R M[Y_D.53W+ZKO(NUA\'W21-YAL>VUT8Z.<9Y=2HZ9[0>.%APM$I\TE?H^._)= M\S@LE9>$OTBICX\BSZ-#B[#OQB$ER@9GQC M@\X/Q/F+'8[4C$Q[<::3FSAT:^?"=ZRVZA()B<_FA8<^44Q(MD?=79D=?8Q'.=?"P5>HN[]NA+=@9[QB;F\L'"= M$M!SRTJGY%8X*DN-TO2 5Q)""^D9YET"]U:4_12'>2.R;EPMZJM%_>VU<_1I M$!&M?K6HHP&'JV:\:L;(V*W<_EWI2]1O7VVU+DE9]"F9"PBYLEZ;U4Q7S&AJ M0P E.2T-A_VL4,>;SR>P7I-'6J^?E0(;G<*M[[G,I3P\D%*"#[_OS811AON2 MXOQ4."C'#--/7_.<(!T%#=6_ VO?Q3>F[;]+6^"7SQ3T:O3:F('H8&*W$M'4 M#Y,8P) 4H.&--ERZ'C=VPCMQG1BNW*7(!\^DTW^ [53>*#M$2Z;TY9:?T J,&U_=G9CECJ&E+1,?^ M0#CU\Z."^UZ.R#[Z\S;61Y.-"D9X/)TM/>NCHU7*\I6NK8I$[G'6;O22<*%- M1N=$QR$VQ>IF[$2I@,G3IP)NZ7#6SY&K@44 RJXL>X&P\"&L1G^5\CS@I_R MB907OC+;9^E[KF;?NNK/\/2X;+IQ&4J*#K0?,0>9&&A6Q#9D6$=L#,4$/EZ$ M(:*18^WY,=\K"Y7A@YQ*59\-9<;^B(6]./_\*-<+>S+6_<-O_K$1WA]BPW-] M[8G4Z&;5S#%7&2>K8"YTBQ9?H@609!=(OS#$33*1N4FD$TL(+ GQ;W!@ MY+\$<6?_X;J;F+E^Z:&_\$B+X=9]Z0SL5KMS+ M?W[U7.%ZHO]KEFO;=$MD;) @Y0OD"-(+QH"(<&*)1W@%M M!A9.2))T^I9BEN<2[U;2@8D62]RFT_\GMOX3SV.'[CC?=8.Z6RFOP5/;2:_A M=V^4I0M9B&68(F^39^+@"X.+WN 7B(UMO-[\I]/([04R_AL)#%K M*TR9.%7 M/_[M^$G$:!W(!=G ZY,,8)._!R'L4S%.$K<;(A.0EC(,7!E^]TOV2+6%".@'I(9.A!N)P0) B0T%:S#"9 MA"BGY*%,@<0P);^H(^43^72WR&\RQ*]!\(+36-\L#S;4\USOA&I[Y]5O7LJX M,9@#]T9^;77+8PM5D-3MIQ>Q7XEJDVUWRH5RG:WGRFP5&7Z-=HWME!MUD:;) M!+U3I.)5&0[+5N#^0A8$A2G ,9&]+7JDR=M/"(E]$CU67<4V^OI5RB1N4YFH M%05]P7XP@N\M2!(=82AWN!JYXAC?8=%GKM[A18:D28K^M36M[$(]C W<[BQG M%R(59R%,816/\\O9!T?!_Q ,X,F*"^4_/T"L3Q<4?Q4X45F,"Y"8DU?\^'*H MGW=&5SQ>,O>^5/7F&G6^42WGD!M$C)MXB,*_Z4*1O@I'-(0#D'RY6"\7RCFVWF%SN890 M[Y3KQ282F%R9XT4Z29$T^6NB43==&"I_UXR](BC[XCT7'N/)7!2XM\)Y5(VM ML\5 0^;+?$[@>612L_4\^KK:Y\M(;18^&O"D+CK@>3X*U8 !1KX K"X,RBN. MY#D.S@O"BI\U@+9P%'])6*%; M*L M961WE!\X!!/TL1I^PO"I-GBA_5&)HB]:HLY'H19.V%5:"-# M))$D,LGD1R6%N6A).0-I<$J-;6I!)*MIFQ*4L41<.OXO:\'X?O[%#A(W$P*N M.VF7MI.VG0A3;G1*7'LS"R9)TQF:^$A:T 7G!9V,''X_%YD1])N)PU5?7_5U MI &ZG:)5Y8ILU;<7.3\;5B2)!)7^L"U]X8EK)Z5*%8Z %MC/_DT(%V] 7];N MU39GV7:9KQ387*?1YL4,E62(7PQ@;V"=O6RPGXPD.#@2*P#)->TKQK^.H8F7 M-N>O SR6N&AHGX@2#?^(=]D(#M(JIG$%]Y>Q-,GU2N5L&2 M-,!/0PUN/D8&[L5OK=*O) Y(IH;G]<\/ZLWXD5L: M+<29_45=W^0HCV8%7,^&L>!XS67S]>6>^>]76&>O&WX!9^B_\V%SZGI\_'I\ M_(*/CU-T8IAF)$)D""(M,@D Q31)$V*:3E-I64I .84#'J<[+KY'P_E?*3CW M"X_]-KW+[HUCVQU\QV3+ _BF2&T1"RY"Q??;%Q W8R01;\7^\.^A#*^ "QJ$ M-[[]Z=>W 8JQ^AE9\S-@RW'---6PKE>88K:\) Z7!5,,ORZ3#H&!&X5EFAPP MA+$QL)%$!E7 G.6==_A7X9:_C35M98KK16W*L+O)T<)&RH-WZMV7%--DO(11#1-(=_Z]P MOKFM&_!N5E\#V88OOYS!EY?O>P%%D!=B(=+^P @H;&M@ZP[7Z1Q@X M-ARAP:!Q!)T./=^T@]-@/*CMUIC" 2 1 5.@:+Z&4];.*QK%DDNFY^(#*7X7 MKJ*' -_J_A9Q*.;@1A+J'PUM87KH3P/I$#S:X>(0J090 F$QOL52_F(S$]?. M\Z]K!2MA]*DPW4&=#A8OOYHIFO;R.XBT"9K:=_GXL[]U&.34_;:3O;]Z6T[TM+ \;.=S9$4KSS*LOTL0%V9NY J._Y3GWY M7<#3E]\B_F.NK;X.+]4VX"A(@PKT&6)@P#/TI,.B6EP*_ M+9T;%XCC*]1#K6PKCAI(BX?'AK&(M?)-3,?7!Z-&L[&",8DZD)7A4)$\S>\B M9(G_I(Y'M=5T !.9J9.]:6[=LI[7M M>O>?H?\_U"(;RO(!VOOV!EPJEQ!R@?"_8(MBX,4+D>0%*]8\"LH@^HI>4FS) MTW$--PF&\'HGDW ).,0"_"4&9,BHVZV;@]^G][?TZ4K+@I4)@)>PU;W8H:7R MAVG?Q$)[ BM37]>^_CX$&]-&#_J+(287>G2P")99B$AQ@XNA^@#;]UHT&,O2 MT+J'QX6O>Y%CLHG(B+K^,UA?,)5P65,?I?Z[/?2$__*@0;B.O)!?-&*$!&>Y M\&RN:/XR;DQ-#6=4Q@P/'_3%HWE%\M"BCE[OKVO:XF9%BK>A&!(K9%S Q0W" M!7K9+P8[P"836EG0FZU@Y;,AUE0P*.6Z(::KY7NJP)D3DA23")LAR.K"A,#4 M#6:Y\2 B*T(E?AD:))Z<"OWGS(&V-/9P25K+9\T!=J-&B+6XD.UR8<@ M[WN&:S[[@N77B=2!C :VK$4*H7509U?-'_;U+&E$2@))30]%+]@ M*B8AQQN$)RZ8_R67_/DF7QMX*Q($F"N462$@B P_? M\0N>N@:TG;%B85,&2YF-_L"U)LU5HR<3\2>&(8/S=T.3:XJLYA![ 8]UI+JB M9).PVWIL#0RHOE%YD &B>#._>6Y7N M8X&VK3#R1H3/YR@>1%P#2$+=NZ$RA_(^)F]$FY81R\#&W-YF#)MA#&S?XORA M2;R\-@$/S[\[8:RX,(X,!@D'!&U?C?_Z32:8R?[W<)WFQ]?%J M>>GW#OG(4*5OTP6FIA]1]XL? TMQ$7@0:!RD;1WDCF.\(W?-!^'RYW 1]^&X M#KSO[*=<,?:[8VP=&,&7)D!#7CECF@:7_IB_!BY#>DMK6/?/1_F_!WX76E1, M_XPAO"+NBKA7$>_H@,88K]XRCK_+ MGA2LG#J$;KA<^\]=H7>%WD'H;3DJJS#[$GOX>GO+#1R.('2T!-L56%=@';34 M' ]AQUG>4&%!/]ZT4E7(;?"#+AOA3!,[EL%NS,:NS<;:NK6T.OAJF2L@KX \ M&I ;L009S12MD)8WT-!BBQ9>X!]QWPQJ(K/N)W9S,59M],$/\6!W='E=%GY M4W3%#8.*[M@VO=$XYIA^W0D=R@H(X@PXPF8$EV(%%VWY'<9DH(,1[FV]C8G? M& P*^^=8]:)GKL"^ OM58&_L$EDFLB'Q+&]B2(T:IHY0Y%_E-O(TX)JVOP$= MA .=V @:R#7Q8YF&O*UFKR[,%80?T:XK',8\PX:.>Q/S,W'19UEQ@./B17^U MD2[9BI]4@;ZU3?2W'V3'>PE2D+TR _92,>K81P((QN:J2?#5XJ;#O?VKOXPO\Y,DO#7G[\K@[ Z\AZSX M6Q!7<%[!^>JZCF;YNZ4!H;2)>-?*\KM%JO>]U7L+WM MM@>H"A*L<):PO]+AC\@JA7Z*[CK9/8Q,CB'0D/?C(@T/W)O5.08_>-IX*.?C M9":&9B)#79%NEFEA+Y-,EU[7%:!7@+X*4*S1G""4M)& $239^\K/=[87^$=D M^R+$VIZUOGE&1NT65X!= 79LX%(QAD&,!P<9_51'O_RQ[S6]B"4%YQAAH/R" M'L*@D&4K$M[4P4^%6Y/*%#UVQ>$5AP=Q&&3^AQ!;YM@O=R/##-UPXQ);A/ZZ M'>3?!B[]ZWC\=DZH-@879XUL@$^)7B+\#XN[RK)?KPQB!TH8;9R5]*; 5Z._'^Q'. MY6FP0,DO$Z00L&TT+PQ1__RI;^CL/HH7F2 ;,#";_8RHY5?^":2-C@YVLV$T M71%_1?R[DP- ;+*JKR,CQTU&9L052%<@'0ZBSBU\=Q\^-.]G?V*_+$CTA+YI MNXR<2AL%,4*S=X"4)#[^ZF>2!D&M5WN35W^>N:=7(% MZX'3;8O5*=_5&5\).LL$T/ D[G!U>YZ]OB]O7Q3? DZ05;#G9#;VZ'S VTO\ M[NMA\_C)%;M7[!Z]8F-_?F2'54 V4D*74%TZ_M _W1\4Q9#"2AY^5LQB^7E5 M!,+'\!6$5Q"^#L)U90H-WVGA>_Q>H+[PIQ4,40-?+:X4:1#U]?+AG;W4FTTQV'[]4H\#+ V:MMRO7<7BEL4)]W4? M)!LX@=&AKRLXHH>1_>$$AU87P5;(*R._"M55J([=A=LXT8)\>V2CX-,!8.Z7 M6+J)C31S@,L]^%$)?-) 4N 6K!7#<9?+! ;LU,1[>EH Q^7CX4$7O]A-A)!) M7($9*6 &H:[7:FXYT,5%;Y!A&QH03GC&#Z\0+JXWMRS#NW$KS*K09+"MPAH& M-KAW*_E6_ )@N-<%!/BL/X[LYJ$$_0) -'D3HPB*N=DH\?=6M;S;UX&^/W/4 MUY.KG-7/K(BTI^;=5H5UORZ97QASNR(9KLPW,O%JJN&31,NR7@YJDBC.]L9"4%',+VD'Y/!8VBQ&O;U3GMRHTX@)-.Y7C/K&&UC%XB=2=!N^J %:'B@\QY,(8/E26 MN_W(T'/\>HZ.I\.5C;;,'UCJ#H#KYP$I6 FQ,ZY!=V7KA45"WZS>=;WBX=U# M_^K!_I[W43#7.XCO(\B 09TBB"'8@;"E,AD"%),RS A)AEIF,RD M!X"A$N%]%,$3_@7+A7*=K>?*;'7SCF6:)A/T2>^NV&26?^_MJY*Y9QG;N,KZ M-K8:\/9ESM9R5OZ5C*M&?(=%G[EZAQ<9DB:I,\_J]3G@82VO=MV8PWI\)]3? M[R(V&EN.S;>Y6*E1]>]JO0E)7<_=;I UUZCSC6HYCX:;S[)5-'R.+W$Y.L_E8YO#C(7CC 4#/<]JOF\X+ZXFW[Z(_ _! )Z,=^O^ M#*X@C\:HRM@$-STGJ%43EK%VQDLGQ,*W%@2?=+0(NLX9!W]. VEY=T\B1-#TN[4AUV'RSFP(0V<=*'=&Z&6B95JK$BO=O2RE-L,EN7@3!I*(X@\\RH MEF1%9K>E1,0K99NTBX37+Y,5KL)-:7.&6N[,2.:4F:AV79*K$(_5IUZ\E2KJ M+=1R9T:Z^S2=0K64(P#Q3%>@DWA*H1DE=M_>3UG>K$WE):%"M1/%*BVZ1I,5 MD[LMVZUFL9WC^2K'-^ER^]XRH6N,Q-1NRUFMHQGJ8M@DJ-YL,NRY\4'I<2:F M=UO6!]X#UUJ,,P3OM@96JLJ"9*8E9G9;>CHWX5, . 0H/SV76[7\Q$FT1)+8 M;5I+I[/-ZMA-")Z>RL)%;T8GBHCQY&Y3V[0>"#[1O2? A,G-2*VU $\L4J:[ M32OBD$DJ\V:5X+MZJ=WK@U!QB5%#XV"B U'3/,H3,'OO60+_R X?Y[DN;U00\O>PJGG/ MT%/1=5T.5LVLIU/C:6/H-]W!U$-A]% LS)]T5;&H:"HW8''3'5"1LW0. M")EF@UCP$\?JZ8TD3*"F>_B:91\F\F20FA'Z,\G61"(IZ!0:P![&4O>9T3QI M&RDDINU.-JXN%L]S)'Q[&"OH0D66&NF$JH_I:5EG2\P#,<)-=Z8U>)#%AU+. M)538K$I:.IZ:U;I^KSO3BJ=3BF2A9J@0[1+DI.L=T\4 M67'HY2E08Q%>J3UPZ6:,408R[$R-Z#RWB4L29CB>4:3+)# M4NQS/3]!O>Z!BQ!OV5ZKWZ@0T,K2^?LTI[DJFM8>T78Y45&R=8HEN/^H]JM/W1&XT;+ M9A&QZ#TLN,^.!_8X]5SA5KCH=-XTRBYKNH6NQ4ZIYXCT+!<7(-J=$C5%! M;R;2+^DJ CDQ3"8S +TP0XB,/$R+F62:%N6D1&>(03)%#L#[GW@!RN.>H5]. MHES/-&O90;(O3)YA6>E-AT7R'DUB#QOO'S+&(N#,A\JV'AU8JA9:\/6QT M!O62Q>:-#E=,S+(>EZ:D]F@D,GM$F>KSU0:9UZ9<_*ES7^V)V5Y.0LOC'HXK M51E2SS/=(D"K;1;E9Y<=-=&JMT?HC$:*RMO.,\-5\L,T*)+>4]F>X:8["D); M5#3+F"Y,3DG*1#%7DHBLZ3==*HAW[!P%!A1VU>:V\ZL M_\V6 [KK?^[&95Q[.;#PA62X5734=;@I\C9]\'+@#=]XHW\3]3G4S-G2M%M^ MCN-MH;L@S(*OV'HSPK&Q4[9J"@:.J7GN2Z_Z+,$.XI9([+\S:CM<^0MQMN,N M)7YM4XVZ)0_>2W[ER]?PA;REK_(21;X0MXFKP$20,5=%%DV^7!591/E"W":O M G,^QOB9,MMY5!\RD+^,".EW$.&L&OS\P?)WT60GF/Y.(B%_#G_YSP_JQZ^* M,,),:KF;O J*6_.8GWX36VY4GY&BZ?<3]-!F1 W8TCC8A:+)<#N*(JC$:LLA MX@ [,3D" NS^>X<<)X%2)OV=H+3,>=Q%$[--OE_3TYNI8Y($X7;JV#EH\\N4 M8!T'XG2($XI0M&:_%(H/3RXP53]W",@S,I^ ]\-_<4:$&R]T6:?-%']Q>8BF\IK__]79T:^N5,8W\K M='G/X1"TX"_O-#F;MWAJ?'9=.-ARU^Q R@(XIX3GP$@'6'Y1/_PZTE MDS5D?FS:;@?:>MF80L?U3X?]B#F(6^A1]()E*D]"?\@6<\.:T.#O^XR<=I^D M&4XUI7_\2]+T#4.3?__<)LBE1C2N>1()/,3<9FCX@^!?D M_ 9&#"M)_D&*F TEB*@UT' E8AA04W^ M]Z4M"NQR3@73SH]OH'5_$YI;PZ*NC15"VW"J]9J259. M%RRFA:0=VN?7*7[*MW7V%Y$ MK)0WQ'LA]@EC-'%)0A%(@](G^>9DC,4[Z?L@=.)0U/[B@G=-_ZHF>779PM6= MN@1WZK,MC.^O<,YH3H0BQ@42]KH[Q'1G92-%]74BR?0<C,-?AQE=9K$./,YL&QXCKFJM421PVS1#>;?I(K)*[FJB',:2T?IB I22BD%/"H< M?)"\S$./LSR/13HBB75$BCZ]H?0ED [NDSE\=K5CND#;L9DNXS#XA6C ;Z+. MKF&7CZ:>O*&54HM'KS]^=,9JCGONUQK5:;DW&XD9;+G0-'63(!/7>,M53*_Q MEG,GC;PAIWS.:).V9:H"K$P>FS(ST#H\B^0460\TE;I)I$Z_(1.50 L1[M'@ M^RS#>_SP(3$+9YZO4 SS;7*QSTE"4;,J0ON)?B;@NE!BLQ/N*+WN#"%1]Z^%T;X,@ED/S.)&R)- M7$-_5W&_ID%%U2IXI[S70?J^I*1M1BTNJF6Q(:;5^M27]Z0O[Q3S30XU!F]H M!#?(XRMT(VB]^S/#JA5V] ML&O0)1I6S%)&RX9DZK #YL%NR'X7K 8&_7ZAKM,J;*=DH]TJEO.]_Y^];^U2 M5$G6_GY^A6N?,^O=>QWMX2((O>?LM5#QKGC#VQ<60JH(@@**^NO?3-"Z:5=7 M=6L56CEKIJ?:SL+,R'@>(B(C(\).FRCDDF33..*"L8XC+K$U8=X%]BZ75;1B MOZ":[*(OC]06T!4C!#N*MR09YK52&#<7;BG;<+NF!NH6>0U+!5/5G? 2#IO\ M]MWV(] >R$?<:M8:B;'H.'I@6-89-IK2O&)OLRPI&S:C3?G9>&*MIZAS-XJ> M$$R2.W/6B^&+X8O#()>^O/Y+^'6FQ;9*+GE?W&6-3)]: )9NMA!^432$R"29 M,^DN]Q4..4H'NT38)<+ACWA8(Z\P5K9>-0,IZ%AF43+,H#9JE><$M#BB\MEI M+LF2N'PVQC8.=\365'D%W#G5Y8)TW[%-M31:E]EEBJGT @1N-@(W^>K%T9L+ M;T17Y7$.R:4)Z6O<; TMCR]_C?5C;KHW'%O[X564I:(2H#YL;P@C79P3PUQW MRM/0BPKK$]-)GCTMWX[1CM'^"[;(ET?[!UU:?Q7N);ZN"N6ZLB0,IU5PLAE- M6GDAW,,C&)*__!%,7$SLM]]EO\(==NQ\_4IA#QJR!&JP8H$X,.)UFYI]]LIC M0)!7OSE_AA#%UG1HS.>KO+SB)-U>.[G4H"$H9%CZF$67)OG7+@%@6L"T\(&U M?KXD+5S_IOX97E@7Y.9P8/E9HM.FUFY%G=,N-T6\P")>H)(9\J8N!\4>^]@E MQ+<*KI\-$WL18!A@&%P_J^2C1'#;$0/BYP&#FJ&&LC" ETS4P7ZOVH8-$NCB M\:&X36>FNF &1P/7^W^'?\"A!7RN>S\Y&S]8[L46C=7\"ZIY_-(7WJCFL?/\ M?K9KAS)U">OQ58;MV%NP8[_0)86/><5@;;T3;?WDG/RKOBGB\LJ/&J8N>QYZ_^<:']"COAFA\L>5B/.F0=!Z"0!BU\Z:5&W=7BWS M IQ5F/Y%)4GJBNWI,<:_"L;CY\W=P]GE6T&^2 6EY7I&;8CU9MM9+C)%DAV' M(&?_^(?BD^P5+LI]KDWBKH&.'5KL(L36H;T+$P.A[,D!R(\)J)39E2OY8*@0 MTMC3[W?69[-_;'0^&QU[B, M4>MJ/N^.*F:G2+1KLWXG7=XSK M#>++NOAJ?KPLEQH$:!?B,P_A^6,>VZZ">1/4W#VA^D*MWW#V]90_5:BH/"&9 MI*_9C J#_8N '=_,O[;M\C:TK])L?N9XO"46"VP ^%8.B'J(=C9">^:U5BZW M'6UY?Y/Y9R<[.)4>^VHX+!,;X^8ML64CE>+V.9(BQ*HSF'%ESEOQ%>BCA840 M>3K)LBP.R&"0XX!,;(V:MZ"<'=+;ZL3NT^)BVY[U4LILE2VT$,JA3<.GDR1U M>9OF$Y6VAN,N^/@:9YQ\3-SDU2)G.N'Z&KT:,V*1SU>Y4=269A9J5VF3<-N M-IMYVI:,''2EV*A759+G<)%"S!6?RQ4XT'+U%N%O(XL16RUG1NG)4F0EJ;?K MI4US.)TBL@@;8R4S])VDP$3?\*PG.+[S@QTZ'(&YM.FBZ2YX:/7;5;=/PK_G M._TN)JMN1V]/QJ*T;HNI\:BR'8O07LF$]@J7)(DK-KK">+T3O.( S*^:#^\& M[-8KIM5Y3C#,:JY29_:>2-AK 0&6#0&;85[K W,/\9>HGQ6.M<2ER/O=IMR] MJ?_#5\S"NW8WK*J Q0^YL.2<#3T M!6D/XF['O YSL33>-:C=!(C%W<@NLXUNKDX+".;0<*'39)+D;SWD M$WO 8Y\/GZ_'.!0Q"I]8TD0/UC;+?8R MB;W>8G,6F[/8'<3XP?C![N!7<@,-,<]W-#/QY_^\?I2;-S:&#L*#7&^FNL!3W$D[*S6'G;5932^\\EYK MR_ZT];M9&^5&X5WGN5VP6#JNZN[$\"W95%W)[?BJ#_2>:JU!$[@=--V'LUXB M.NMMJ*ZKS G+7Q0FWLJD*OM^0.5US2L&4/I7D\2[3K8_4A1"M:_MR_,U(?;S M4SOKTOL2G8*B@#I#G+V6].*#Q%)U$QOT--"-.EG9<9F]NN)5'4:(K5IJ!50VSG/U.?7U_^1 MRO,F 9B"XN@?L-XFO['GK'XBNQ-45;ZC0M-RQ^T7&]DN2T!9BJCL77COCI/5"NSD: M$\7.)._NO=&"]B#7V,[;U<4('Q\>A3EKWT-R0;5A5 \5^Z^KKC:+7MHTF8Q^ M0-L>#L\##2S&P#W]]_1?.-QR/^&6&-Q>NO:6ORM5[YD.($2GC&TJVO+OI?#_ M%&:J5OI"=U>3.WMV*^KJRJX+P5G]^<4-B?Z&G@-E"/G%^OOI6??A(^A)(@TD MJ4<-Q,%0C,Y;"VI>&IW2R)I3_139E'=3JLU,')!;ND(,T1F[4&OL$8BC6%>/ M8L5? E!!@&& ;7#P+'^\0Q7F98Z,O/'$L'KO?_+GT0B$YZ7.UKOW&C9ZG10CMHG>\Z M/.QYTLQ52][.K);]&3>:&WP9_/0@++;GJ+\JAER3&C?Y;E U06X;I(*9E-)W MK;>?H;Y%LYZ=L[YA?!R/TMXA_S<=0\KEC2 +1'%!]-E:ONHR3DVIM&)ZEG;I MQ9N9BF9G@\Q$!,9TG-YRK+^7T!DL_XY#V#=IWKF#VJ^B@:^<9G9X2UDU]Y,^ MD>ME:KY*+4OE)B2_-)%D&3[)<.?Z>;U!W.BL\C/E^[%:+CT>XIZ5Y@ MW^NJTT^(PD<7VNWK#-L;=[OFNNTUV5VF8+0[G['0)^?[[UKM M;Z4")!-0+98 :M(&6+N_<(SSAF*<7R@'^_;+;CUY$X06]IFB/&6[Z;A.5>D0 M_65I1FV7E$YP+84.ZZ;CGG48I#'/*K^#JEEO0*E78_1&NS0GQ965'SFM+BN/ M(Y2RKZ/TML])HOB1 +\.+4NUH(-NZ"G#3FCJTO!5"T>(<83X/DY+;M_6>$1I M$X*T;.3:CH"PCFI^$FR2HUXK[1N[PZZ?VBJ: MMEZL+72FD7#"_BZ:LUBZ8 9LS]B A.5XN$T<]J'B%>@X/9[^\^:LCT?0J: DX+>W"4/Z3B =M\OV5X+T5:V,RV&ZJ^HYHIM7U_**59=*-I@+ M=B= F$;-YI(TQ[^&Z;L(HCPQ3(#JVO"[<;\YW$/J(\,KN/?"%0V@-O!5PP:Z M>,#V$[SGP<30C'.MI/H93S DO:H3.Z 8&;TJVH00*&DB-'7(9)I]K2$#)@U, M&KCQW$T'P,Z M[\E-GO#^;N;OA_L\N&@\[E2%^]'%S%H*#]L/@(T*ZYSAN0(]+&9YOMXB))G9 M-H8[L]Q809XCPW,J,I-DV-=:;6*P8[#CMG1QL'+>A':I.YU)]!(LB)TG\K64 MK9M=NH70CDZJH#/$D*^=2M]VC.B7>NTF$XL7993#Q%_O[+7F"YI!V''\%<>1 MAJ2B.^NQ!>) H/_S@9&FCU]Y#/CT8YKY"K;^)G*5&^769AI,6+/(P?'"EFUT MAX&2II IQ3)LDN)I'&G"A'%UPGA3E.E+$L8']05^*V,0"W67GA3'<[.S(WS2 M8M5@&[008Z @$T,E,^1KC!&:8__V5;B'EX?T2PQ'__)@O5-O!_+%B^%I .ZK M^Q)):$H'Y>G.0$+54%*2:N]055?;\='%4Q=^;"<,^-M3-TRT=GUTQ>;TQVKRSLEPHJZ,;F M^"?\X_C;F@54%[')[._G6TNCKSIR"?&OR[TN?KB#5/I(A@\+95Y._;^>SOV1 MW%*:8SGN]R.#/5G4+++KJ9#,IB U=H%JIM0)_-[OJA6H.^^P2([[1J6/WNGW M!Q9$8D@PWSCN7XG''Y$P3B2Y4+>I)_(Z4&?* A/_>_1;QX]"VCM^YGAA>N%W M%U@JNB2(GOWLJ>&F^,[R.T5^8Z^T)R]4C7[<@?^HB9F+F/._NU+N[/O\I_2]>)A"]-$/OO"X46K(]DIZ0O!\ M1@4*J[.TDN8F&84##*'0VH0D :%I%)O^(Q+-9;;VQ+M]C4%1D1(AWQ83):F6 M+S>*G<--UG(C%Y%=M(JZ(KY3A?^61<;W8Y4D)IB6^B6X;\J&9KF MJ<]=B-3(BXV.F$\\G6[B<;X)J9!XG'%":.03%R3T]T^WWFR+)3CC&IO[8&#@&LRK;\)7MK#UH GK)!-AJ +)6&)$)8S-+ MX![_MH#O"-^[XN1/7]F7LYL.Q*'2%)GA24@7&8U5TB##*F-B3"D;0EPY,FWK]*+\:ZB")Q,M8 \RG.M M,NNBD2??OO-J]591Z;!BAS-4/L_4O8$#C>K3;^=FUCY?"\J844 4$5 VJJ M9$Y'BAMI+G1$"VYA2B'KW"S?4M>!PIV.]!Q1JPS;*B<6BUS?M]F6-A0$A3\= MF=M2SJB6+\QE4"MUJ69NE!Z!0"&)TZ'+!7R-F7D>R"!=S8R'@;:9!G H>3IT MP76'6]5H2$0J7].Y7->;-J'LH3-U,I2A2C;;K*U]DS*)OE(6:_I2@HIW9N^[ MHWI:ZBA61>Q4,HM1?B?U1VLX],QNIO6M*&U\$.2)7E[*Z;O?@!,[LU,Z? M*)*SJ:UD:LRY0U;>V=LE''IFJXI:0ZZTA7V>2&6&U(#3R"Y#MA3RS%ZEM'*Q MM=T/RR+8#J+4J_E\9U0&[34A!;NI-=K**2$%P7=F8Y5R4Y]6 M%D&'V$'-+TB5KBZ6X- S&\O[I+^<-JF:2378@/':_52G**"A)W/5NW6J517W M39FMKW>N+GG#-A\^]62N):J>988J+Q)%WRT/9TX36-VI0IU1%S M-P?#64\F MJDZSU)ZM.Q,1M-#0DPGX\\% ]_*[M-P9FIZR3$W M-#N3;N37#?C4,TJ8X@S#9!J9O E!,S>-.65T52C7,YJE9_P>[QBCC5E=ZAXO MF3G%*(5#3R30SC@Y8;J1.N9ZV@"Y9<,OESLM-/1$ OJ@7+9::5&2)<*LIOV> MEB(\**PS^KJ6)D-@.DR;6&06#)CT7*"4H 3.L$MU-^VFTJFL8*Z:I%]D G-" M&U.%/J.$>Z4@I>5Z1Y37V4EMT)N/J78I0,&7DZ&SR2!7WW:7#;&S]2J$7^FV MIU"UZ3/JPOM.KJ5OA)98;2[S)4T.J%H!O@3.;*QB"@1MV])2+BJ3):Y"H]\\]WW" M3YYY)Z?.R:D;[[O'B1V=GLA<>>-I'OV-S;QV9/_$<7KR? <^= U]))M!W0Q_^WQ_,'[\JG_0W,DY9L&\1WZNYDC,7@$0=_L/, M2XBV#O2SQ5*?IT7>%:Q.A'(?./M9FM*K6O&TX?W3/T^R8Q\ 1?TJH$CB&\_> M$Z)0*N/%LHBQDCPHR5W1+LI>NP2GQBQAM '\A*=:X#(%&Z@/OW?POO?(1^7 MLK$3PR5R7,,(3MP;\EXZ@S6_=E7T'(54#DGO7>=)!OR8:8IT9^3415!M3D8M MDG/,]O2WKDUO@+T&!==9H/PMM(J^X<]R:P_N#7#%K6:MD8@%SP/POWI4G>9E MBNM6*:PFBU;>%*5JE5MD-K)<"E N "J^0!-)DF"ODQ./&>"^&>#CR]O&CP+2 M3RD@K7!FS4*!C$:HZ_:@DUK2>:S!TNPYCSO'"M/*IX^@>,C/U6[#GX\M>GV>Y_U0F%[LB'5DT MG[S26'';M6/,WS7F/[D$2OQ ?VV#YEV@IU1Y4R =V9/7336=]8-M MT0E!#^T6CDA2]&N%46X\)A/FJ?\D$%5T'<]++%UG8O@7C5K&1@K8;;N>K?/% M7;=KFSJWA[>P$7:0F0 M].UI FR7Z K_YN*HO#-OP?#=,;\7V+;9OL?<:$^_U@-=BA%;!UH5G M6!4C,^^,Y>L$ZP:HZ/,.T=?*(I/OCOUQ!EV_1XV^R62&N5(%/@S\+P!\[-A> MW[']9>17W'Q?;-4KHKA>5'1ND,JPFS5"/FH>3B0SY"4;-GRFSQM9-&T 1;+6 M_+6+_%YDSD )V=YATS7'\[$3C)V,SW:"[\XP>08[=)KHG:&B&CF>,6RN490! MF<\TA V@<\%4"5M_L_R5NDUAH-XT4#\[&G!WAL2;D$I/+<'52RV.6+5[HW)O MDU'3TY82->Y.$ESF?D_XCV9$U"T3E<+='S%QXH' MKV6Q:+H+OA_@W43H_K'KU.AW1FZ=$,KFH@>GN+E.3]K+4R0?MS"1G=2Q$$&%C<2[]TR8%-Q): M>4O68]0ARCF3COG!I9U/TVO%KYO M]NO92F^J^[V9/45ED]&Q$95D7NWVB[&.L8[O=\0BZ/,6L-M6;D;R*3 Q%ZJ7 MKI=F2V=FA#72T4D1DV33ES\IBHVC\Q8+YS&=TK U9P'PW0[L\N&0T#V:1.40 MWS7'.\>3TGZOY$=%P,HI=]>M]AKC=F8^10TBPM(=28:Y4F-P3!.8)G!D*$[6 MU*L\L6OO^$+7)1TYUQ=WIK\ '1:T$$^@Z!"9Y%]UGFXI/!1]A>3/@'OQH[*O MR&YW0E7XH@G6SSCKYV>GEKQ106_ MN.-[1.I,D82_ M,-XQWF_V,LG' _[:'NS[ *^D"H:1&\X4L5/)=[EZ5RIH3( '^8YL/1I.NA? MM^G)LD\\V2C(G_CS8+'\E4S8P,=^ S[=Q)D,\;)>0K@^I; H+/?CM*WQUG=5 MH[/8F_VF/E)=!@IG+J .RRB"GZ1>36_'N,>XO\VLAOLS8WZ*?"@'^-!SM;?I MX2:7"WJ"V1^-=]J:R9/Z,D 4$)HTZ73Z\B9-;&SV=Z1S/HWI'PP@G/2 3S._ M;M+#_05_?HD_;:]ARG8W-Q!S^BI0&E-569F0/\-*F?SK[(E) Y/&%TN!N#_3 MZY=8(S?K%09^M2/*H,T4VEW7;.[6+<0:AWO%KT:.;RF01!Q.O<(0TAA P0)4 M$1SQ ]QK^-=C>,E7M[@L)SZ-_O1LB;N+"CWF9AW;-!GV&HKTD+SEV%XVA&4T MKHM@***X$'R+&+;J[LH^6'B0Y= :7"EV?;F9ZI MF/T)8M;B@B]Y="M ?QKW"W^D@SX#/ T!+SNK,<6 MB 7?7:;3=QQ6&2O?\NHG9L?'6?IU4QY:]U.Z655VL_A#F+8$Y>/O;[J>9(WK#6 M/M"Q&W"C;L#%3(VO1S@?;%< M#_\&](0*%Z9.010,]Q+.VO=09@":*2XQT=>J#WJ5D'K,=A0K]C4"[[>I MV3?HZ5XV\/X5@7@GJ+LQ9_GXQN[2K2[S+ M=#Z:?$)D\376BS%PI4EH1GO2H]WWHYB;K"LK9R&->L2N)1#<6%QMB1HTJ,-J MC6DBR9)5,RA,B)^RV4C.5GP3- M$,ZH!E FR:?9))-A[]=+OE)L/3;KP_[ 5W%TOXZQ<@#K""T9J_;76//' MQ"EB=%,K9K;9T[(KV B_8R,9NW');9-:W>@7H9&<^ MH-)*S'0:0_N"T+XGU_I6"ZSD]+DE@MIWB_[IB+?:F%L'VU BN?J;A1 MLTDHCZ4+9L#VC TX&"/?L0MQHR[$_>0C_&!I^'HXUL]XG+"_44%OW$^-^A++ MM@O@9/= 3\P<"WUWXD\+OD2!]U=BJAJVEX#6@ X?NX$O]/ UXOGN>@%LWPM[ M]R6<"2K-_A]O_7RNX;=GOL$O^MLR;)":12G;)$'\ZV_?688+?"$M^#&4[U9@7+"4I GX(B9!?T8=0[ MHPTT2_4\8P(W%$U7F/C [:K;UUI_K861JQ17E26QR@[=7KK?EE-4H% \\M@S M#*X)CSGE;FND?2GW_O*<\I)*W JIKL:B0(B[TE9=3':FM$0! CZJ&<^>:3!Q MFP&"R.I[*9F$JL_7GA^:=6'3G72F\\68,B)J>)@+9<-D^[5!84FD+U'L:=5 M"RYG[WTMW& N>5O=_*].)K&S^]Y!)H5J2:GN9^6YN!ZM:IL::\Z%<4@FJ,TB M_VJW^1N/_!UNBW0=7[6@2CP$ ,/ 7Q3V>V/4#[O3V)W&(;J[M]%"&CWA5EO_ M27RN:PV[=:"-.,+HK8#5#):,8;30NE #ZR1!7M-B^_)8PI2"(W3QM=1>IY27 M3+++$%Q]56,'LK&S^\UA(:MS^2E:#C36,NSE;_9^9G"NX+@ SBNAK5T7V-HN MX;NJ[5DG@;HKQ>%H'(>[;]_YPO>'8^P1WUT.\X]H]D 9N0-C=!%A1"M$E/I( M'\(#>S2 +TT@V38=-_P'WW>-\=I7QQ;H.DT5/N9<:]VFQ;'IU7!A$5+&ZF8* M3+:YS4*G.2P^R#_.'/YIYXB>E'(;C/EE*\&/HS0W2_ MR;D%32J!3&U8(5*MK;=Y2V&\P_GJJT7K]W MDA?\V@6CHFUPFJ#0Z:B@ $FA_D[;KCJ,S0 M'A-]CLM*0F.NS\8AY-$Y99+B7H-\:.+\.[2A_OF/;FQ^?[.^/6KE45_"3^!? MC^>!WT@>+/Y>.IZ!9O/=!5:8\74$%CHN_./9;!ZM\I3F6([[_:AVQRKJ MG^1?B49D@44&&3+$T-_^Y\;?6Q>Z/W-&YQNJZRK]QLP+>'&:'Q-H;^F13J'RFI MUPGZ.3D3^$1_04N9E-93* ^"GN0QZ-\GR8)#%UQY100$!0:FN#*RH^X*PIWB M3@,B<88["GL\P3O]Q5ZFYPY/7QZ7OB]B%FI'Q@KD\FHY%,558UW1&-D^A0G=["E)C%ZAF2D7YK=]5*U!WWF&1'/>-2C\X M/0]^.A)#@OG&R.O@W*@0CZ$EM1_GNSOJTH92C'UW&>.Q/CXX7/Q_\!GAA2C M_8E&)/X74@#ZS;]>2/S9QI%/XC2'+XP^^HE+KH84IG"JGF$9FE4X#NA*FDQ/ ME#$Q'BM$.J.IZ0S/C GJCT@0E]G(D[.,UX@('70(^;:8*$FU?+E1["2CO+%R M(Q=Q1K2*G-3H2+5R7NB*^4X7_ED7&]V.5,@)G5*A)O4["L<0:8KYW(5(C;S8 MZ(CYQ-/I)A[GFY *"33C1#CE#Z+ZGYTS_2G;ZEHW('/_]7"D%(-9E6WXEG'6 M'GQ/>E><&+(+C,GNQ,LSS5U)X]*1.%'MM-RRLUN**[F%S*N7(V<$3\J#/#4U MB^E<6R>(O)SMMA3J=&1OQ>\=J)>,F#/WNQTM![OJ&HUD7HXDV%7D%<+QJK87IOR.M< $>>S--BNTQGF2TMY,5Z M:YO2JIT5C$!A3K]=X+55.M,"BKF3B7VAO-E6>%E0V-.1(\W>@]6H7C-7M?EH M6+"Z[6%MJF1.1Z;W-<-(>4/!7%>\88_2>X2S:RG; $P5DCPS4WE1(/U@9XNI,C";HF9H M\[&@D-3IT-7$)$3+;G,BY72Z0U[D?'$$)W!&2RI3M=\0P:9#2.HBE\U5TTQ+ M#13RC)H4B8'>"VC)E!?5M1+TB%U.!' "Y_84[M]J6>W;XMK@&Z3=G-E#%D[@ MS*8N!#)KI>Q"7P9>9=^8;P-!2<,)G-E5KT174D++ZM3RE_QN 7906&>V M=3KI5GG'V'5$P.E2W:Y5\U, GWIFMP;^AJUX:7MH&MEIMTA2QFH)YTJ=V2U) M7.6-Q:2KR;NQ3:AT'; M&4L@KEOIU"27IY>99H#:*IX\E4]YZY+ML$-1FF^*[4H5Y)U%V*'L9*@OUSVY MG&^)!!#Z0*=]=YM#1'5F8V?!5#!&13$OKOG?3+9"+16E7+N[EA0?RKCL'5#4:>O)43C;W,[53JA,I MC@M66FWN H./:,NY:!)>X0RV(GLUJHXE9D) =1"0T^>2A:I##-DRP%Z*MO< M5%U9>#(VE ML;=I,YT+#M517K +:UA\<[=-F:R8-[?#C=Q*,0)RZ4]5>^PYNRT6923'"?1&BVO" MU]78;*'3MY.G]NO[Q6PLMZI$-365L_: -[CB\6S^^=!6>D$.R7IJ8[)S>I_+ MJOU5VH$3.*/:TS4Y61?;BYJ8XV8I1ESIHZ4!AYY1[9T_XLWB8+,W)8*NK]M% MJ]7-P:%G]'5.]O)IVI"+XD[K;V6QGO6-(1QZ1@G=W0901CDSER4PR1MJO3S: M0LZBSV@6FRD%YD;7-V:.K'1KQ$R@2AWX;C^C65S %;G-A-'E77EG"EYO-&T6 MPZ$G;_>AW':\3F6R(!:UD3F0697?-L.AIZ_WMM)>TX9-$* WK4L- MS+6N,F;7MLH=>3W/5RJ!-%1JX_"I)W-M--AIU\CM^V)J7@KJA47;Z0[@7,_H MZ]P3:4[:MQIR?RU.TMFIY13+4S3T9 *-G:")XVXO)Q:W<)Y=CDK[K?"I)Q, M:L>L5=@M81I=8FBL:OJF34&KZ8QJ=W-!O^'*65<$6F.UF.@B1VZ@!,[HJ^DO MK?8J(&;RNE-W9L7:OA80 1IZ,E?&W@]7NNS71(,;M6:I$I]BK/"I)W/-#]AQ M9N?5.P0U;\Z&.5YT61M*X P*!CMBO*(+_9[,%IU)NQAL76[60D-/)F!L7<.8 M6O3.S!5'O7ISD=]S?/C4DPFT!@6ZWJ!*MJGN1^JHR>5F]6J AK*'H6%8\"'( M$R54:(YEJ4L/?#_^\-2O0&&10Z 'A0&T*,[P+': SJV?!P["3YXY^Z>^_FD, MS'>/$WMRHO['FQ,?T]]H[K7\GR=QB"?/=^ S)Y83'#V>X]]3*/WD>Q32"J"< M?AI->I)F\#!4A>\0U.'P(P)+/\Y$>O)[;W?RGL8T?SLO*XWW)7[[\K/*^7A? M/F=?^&^OIC'B;<$TAO<%TUC<]P73V#6WY;VW@GYF''^:$#+O$,)5^?N#DA/> M*I.3LZ-W"@GZ-7!49_HS.?6J B\WZ!OG;VU@V35^I1\HKXF+P2 MGY,*)0QM?E[FMB);E7)4E?@E,_MH8"_SOJ@K*B$R@MVDL47&>1D)8 I9+: MTX2 $B*A.0J\[Q<%3KR$<[$:6?$OY?I<*!]4).+#*XKPRT_O;(J5'"OY32AY M[#R&'RMR5':W\7 )[1;LN-AK[M4[$O^,F"YSX_ZZM11^AK6[JZ#1=)V)X:/; M<6=NSUM=8]6LR'5;-#J*)?98!OH1*#4TK)=!I;DKUNLS%0I'6\2S@/7K#ZU N^2>?@1K@M+LIS88_I=IT#K.18 MR>]>R6_( SY4K,R#)7R5&8=.,ZB,R@+=IM^''V!;^QYL[$)!L^8XO7QK,_44F5#K,X4;BJIY3SOHKN/T&FFDQSS6F\L#&0, MY*\'Y&M[SK\(Y**0LX:LMLV(;&O?;RU2+D4&@1)>6J&3?/JGI2-OUJ<^6!]/ MY8.*>3A050Q;M1*&YZU!0C<\#15K"PT3'8S]P^>:XZ&"']BUP*[%[;L6=V?5 M/ 6U-"E$Q:/L:0Z!%G)B_@#J$V;(4ZK M#&(.P!R .2"&!M%O<$!5K:MI9C_MF<9D4->7&;.W"! 'L*A7T6F)OEN.OKRT M?PQ[ VS?<7?PF\$RM5YBQ^T6'+?82R!^#A]:(DE=[GS@*^\NUN_XZ?>-OK\U MW04O7M[EXSOIS+LZSY97;4JL>V+*2(--?:_;[B!0N+#W!7OY=W5<+-*'PY,) M<-VPW/RQW#7 <0GLDV"?)(YQB2-:H]KB7815U.-:W>;@A\997\38:_MBS:1K M9G%4U"U79)S2,E#X,!Y!TS@>@;&/L1]G>^8WL"]E0'/;I%NJ;.1-;]4A>IW: M!F$?Q2&2YQKSW'(DHN,[FID:JU'Q_P7JF(-30+"#AAVTF!HSG9GJ@BR":^X) M6L_0F-=I-B>[81[(%#TSNJ-]IFY94U16&O5^3_(LOF*!,8\Q?PM&S)LQ[Q;K MOK)MI@G1L-C=VNKM148($.:A[4(E"39S[Y&9-E@ U5N[8;,B=+*"]@W. /T- M]38R=.!>UK[!'MNG>VRQ%PKV]*YO&&77GF$#SX,4.3;L\*MS#]C//86^X+HJ M_#2\TI6;H1_+=M0<5)K\X%=JAAHI"7F&=>8U[ M;B]6]6<;:*@^J@&?.'&=Q5_195L/:0SJUVDYG@?"/M*H ^:Q_30P-J@% '9N M;\&Y_3)7(4Y6EOCSQ@VPYA&+!E !]YAL+V*[8BSI<# MTC0T;:6X^VUGCIJ:46&@ZM1C_0LC&2,Y1DB^.VOF)T ^*>5#+/8%8NH-3):K M5S=ML]!6:F&G062"<*\E[]]%R$FV70 GNT<-LZ.^Y0FPU4+;+N&CSN4'+?AS MJAKV7Z&1@AW ^W$ OW*ZP/T9,84(P;FUZP);VW4?\5N$Z$4EDK( H;RK;L]= MT.Z(6Z;I>JK,NK5@*+(;?MX54"=5:,IDSD2"+F?+8"; 3("-H,L90>\C@A\Z M-Q/#6]'Y.=T5UZZY"LII7ZKQ 6($:!SQ=/JNXC.2/P-1%.9@[&!/[18\M=A+ MX,MY>->VPK"?5GCU/.![8<4:ZW!B!Z69# O#HAO>"ZC3X4^JMEH; M48,^7 P6^W^WX?^];/7W\U#09VL A@6&Q?W"XI:" USX%0).R;A-UP ?Y-ZJ MFU^V-1>H'LB#Z/_+]A&$[0<,OA:\U-R),J8,FA=3NVZY4V&+Q&X$7?VPX"Q) M)-EKWH3&F,:8OD%,7]MM_UU,]_N#1H8JMU21&FHK)I_JDN(^Q'1X18CE+W^] M.2[FYL$0.=:U,7#)%NQFW(:;\?7R,$YI[@ELS] :JP05OEG=9UHR31' M04MUAR)63RR7)\D3V$'[8 =M[+@Z<%/1[W\GE]N$YUC0P/QO(OS/_?!C_-;^ MU<,[1T9H1H1P)-.'!+7:(RV\1JW^H?C0)AF,,U\"LU\WF'9;](,.:+M>555&)'M=_N24.UE;;6%: 99<&0R0[T: M;[ZA4!,=?44#^ E-]691Q14=Z(GQ[FGRZT/Z,/9&+\><7X8FX\N)=Q>R@D!& M&?[- XRS.]E#U='/7 0X0WLV94K-]IX79+8E+:55AK *^0#.-"K5DJ1Y?/\' M$P(FA%NRD7Z+$*;C47DG-"II4^48=T;1I6*C&Q)"&,DBZ?LM.'SXAO&S;P@ MTAA?O_/O\?XN@/.1+B+3(0?+/9B M2\9*CI7\5I3\AGQ\-LHF6;O:3/4 NJ,*O7SX_O=WX;D,6*V-);H)C$UY?-(< MHY/F^SL6::J[L#)TUQ'0)7$7- \X;%JJ[0NV+AZA>"[Y32:"5;;;K8M5M4L* M*Z*U<"EHBU.'U!'BM"TK+M"#$?VU$7WU6JJ_@^A9QP/]DKWN$;D5J%5$N;Y2 MUR&BV2@9[ J'#'&Q(R.;Y%A8_UG1C(>:&N&!A!K)5XYP*42"5( M"OO?&" 8(%_#R#B^-H'7 *BQ#'Q/'OY%/U>CM 7*C94RUN1.TTB-!$VJ] 1H M9H0U2LDTF:3X>\UF6*.VQX8-_WN,S.-,!GQP>9<'E_<7+?G!R>7#*=NSD\L? M%SD1![S*K(BBR([WW9W;SBY 05"H- Z;8&K U'";%M%EJ&&U&?1S\XZY)=:+ M+-\=-_)=HQ120V@844F6/JV63^T>8MGOUC) ML9+?O9+?D-M_2'!P'2A;/>H=FW#!QK$VZ%VEN4 W_,1$U2Y][Q2C]FX@>M<1 M?:RG6$]Q:ORY1JCA"P/Y-C444)1Z!&[!_QEL7F,C:78T5[^, =*_@= M*?C]A8?;X/B.DB8_>[%/2OQ:;,DR([)JX!/RS!D,T!6WS(]?[+=Y-G[.2?:! MNTA8CFICG_@F?(W82R!^/@KVI;%^W[-^W_BK^JD/7O:\M6IK0)KDP?CLN]N%BV%"@LK^!5>X]@GP3[)E_))KIW-]M0G M^0&]#0H-;3#I-"0/@=Q;5 ME?SZ<"1V_)PR3RML?YUI(<"'Y77N+_9PSG@Q; _N##3[$DL7+(SU(C$YIIEA MI^T6G+8O? "*@PM83^.GI_?S+M5T%SQ[D9:/+XMF]*YXR$@^\W9=-YHIFS4- M3UP,*YN.RRW\YGRJT$1TO9[@[OYZ_?'B(!(U%/[83QB'$ O<3>^"_:.P\_#I MSD/LA1)#IP,?[6-@?+Y08@B,^[$@7MZACWSQXTE##KT%SY@.A5?= M2IR0BORL--LD&TQ8'ASQ)@L;2<'0!P M%HYF)GQH?7G1HG'.P$VX/;&7P-=SESZJSF ;6*H/]*X#(=Z'8)XY%I)LP7$[ M,]4%6=4#>LY9H/9VX?S.U2C+,%-U56:7XHXP)_5)IKMRBM").E0=),\TK,37 MYS$O8%Z(LQ%T 5ZHIQHI52UOBG)NKS5V=9\.NNV0%\*T29H\[11R;\&59YF4 M'H ;"S=_EW F$_@H>_I0QA#.%[B!"[7<3>B&%S6HPAXF]C"_LH>)0R\8&)\O ME)L QJT;'6GVA*'#N-/]@.%SZ>^]FGX\]"HX2_4F3(LZ9P8[Q[O@>"N#;@T^^^0'V:Z3^_:\)"H_\;2[%F1 MWN5VI>J;U+[G=28!9$(664^9)$>^ZE1B:L#4]BAI>$8#H< M,UKN&B-"6J?=4J&V:A^62&.^W5<"]AIN@;Q,D$:&%&"10Z@'-. M@*TV4^TI2,"-!.%EVJAEIJU'/Z#.WALH2)QO@EU+[%I^#JM>V]Z*6$&:B 3! +-+$KZ;5-U8/KWD'S+1-6,J&X5Y@: MTQ.F)TQ/=V/TQ9*>5BO@%CK+1EN65)ZUBOM^S^VW$#VA \O3VUTW&6.+OB$7 M&8C&1YB>.T]$^9-OJ]E 4F?CBA^\C+^#+E+.[.9/LM]FM"\3G0;=9\9_NODFSVO.0O:,N4/2QLYN\WVBM"9YI!YQB73_!4--&R- M84ZXQ;CYM0VE#R>%'\;>!R%[ "M(Y:^PAEDO.)L MN1\92LG$&,#?LM&)I#-)+$.AWY_G&FN#*G[N''9E/\EL$SQ%FB@D]<#)V\UN M[M;F1I4PEAG0;P>@6-\+G\7)YYJ(:4!K,EQ^**Z')#O6NFPW,*'?&1;X):ET MDJ=/:Y+='\'$R1B+'Z8PG\2#3VA%HO(]SR]D!V*J'@CM8#>@RM-6C/B$)RC) M7,GYABAYZ_)*GBTWAA[R"2I3E$FR_.DM_%N.9?W8, .V?@63#-M?/\D,H2%! MZ,YZ;($XL./_7"K1+FU<=>8\(3:JADCAY$'G"D@2H@,(X(YS1^] MKR#6?\;/OB$ 2&G@O"T=_F-GO5Q: %U(4*T$.C6U'&_M F1!A396P7("+U&V MHQV$POG^GW^/L2.**[/<=6664";O.G3X;"%A.&$X83B]%-(-Q378Q[A&6'\9 M]6DP;,U9@(2/JC)'-02QKW(/9^\7]*@I*FHU)"#'5%^P,#'0/]BP#]^H;+ MSX"^U'*Z!98&D!"PD<-ES"TQ\7UD"UW;D;O7XX2OK!$;%W:+B'H( @J:Y:VBJ MA.]'58LZ#R66ZDY%F2LH,*"I2P.]8<%V"6S=\.$K%I>*P;X#]AUB%B3(13@5 MG\"T;&MK5)T]N_8;CC\$H5]QQJGH"@31&6G30 :^3^3S&Y/(<8*2#@L1D\1K MU0XP_C'^,?[C$#OX#?P7W66S6%;UKKECS?ZNE#(;>Z6%\(^""N1I_]:;#"F\ M,'B0;>/COM:?SG;W0&U?B<>N9<>$G66.Z"PX[L/Q;=G./0 3M:(5#[ ,.\-U MGX#R#+.!X;*\'F5J/4+B@TIMD=TMBRUHV81%@JDK&C88UQC7UVZ)%KY[_^TC M3_WR:O52CPX7"H_7?JFW*]/% SP:0,D@JNX,A+&,!9S##H7[;0<5 MOU5=^+$=9CI,7=6"[WTWK)7KSX '$.?!): F _"G\$HS:H!][# AWL^_"!L MT?#M@NOZL<3?BE7=V!S_A'\9KA[:SO#[>PD!@2S#>.^U?B\4.9X3W8ES42=W8 /3L9T\--\5WEM\I\AM[I3UY@1'Z<0?^HR9F M+GJ__W=7RIU]9Z"?(2?"%[?U]]/CM\-'$&9AC!#="$+F0E@F\*"6ZE/5?%4I M0RFF2,AT#[,]B/'QP^?B/Y%K](^0V;4_T8C$_R:H\#?_>B'Q9QM'/N'TPQ=& M'_W@\<=M44/+0DEG6)+@=$Z9L'H:.DII3AG3/*/P*C-A5(K/D/KXCT@0E]G( MD_//U_@0)7<)^;:8*$FU?+E1["2CJA#E1BZBKF@5.:G1D6KEO- 5\YTN_+,N M-KH=J= I"6T1_:K8[H@MN?RY"Y$:>;'1$?.)I]--/,XW(1423V<RL^D_95M?0*P?Z7P_GS3&85=F&+S]G[4&7 %5(V&H \L,2N EO M%KXL%^%QP*6G_.-7WN- [I$.?L'D.*"4U-DTJ3)IA/@2Q0)757&NCFKD&W^26=Y4K.%+H^)R-'I4:[,1'G%K%H M9?@!8>U'RZV@4 KUSZFUS M-PR7&STD"]/=.%D7.V6Q[-!UO M96K;FQ2$Z8YIDU,X,OUR9*KFC5E1Z6=,:5@01,&89(U2"XX\67[=H%VC-9NQ M\FZ]FZ=+>VK53J.1I\O/%66)+S$-42XVF'&5EF6!R(=#3Y8_ &)QPK8"168= M9B&IE,&S42SH]6TWAR),E.3X9D)F%53*IXBR3K1*92GLM MP)$G2]*#5'N;6KBTN=:U2FJPR;IN 8T\6=*J:V3'(]=SS45Z5)QL>[F:UD/? M?KHDD)[1L_:T!42)I]J\D\V. JCZF=,E=0'=6JT&X[%8K?M$IS#I2$0X\F1) MJ\6LO1H7,WNY*LL>,^Q:4C40X,C375H5!5 RMGFQ.%5&D[$LD\PX@"-/)SKR M*#?([-(M>3>G[2#/[[N.%PX] EB5#)DRR[UB5RA)KL4Z>XR60&./!&^EJ,J?%!5 M="(UR-M->=_+LUTT\G1-.MB*\VIV8S4GI1>#_H0PE/IJEVDU9OM)"S+4Z53'#8'H;V<[P>SPI.)4 M*H3=W@9HZ(GZ[;-.G1(ZPZ$)9)+M[GE"*M)3-/1D6<.@UM":@KDG.FR%;W?< ME59K"VCHR;;2P7 K[_@692Z*.WZYG\P:WCJ',R!/U]6>[5<-9U4:R:GZ9*<603.H5 (T]&1=DE_,[=9B:RA*_<6<]/LF M:(];:.C)NKIJS288;@>'VA6+;RVZU1D13N!D71NUQFN5+D,216F^S,VD4GYG MAQ,X75)W;X0C(RA]]VCD9GOE',:_'))W[OD^<[\)D3RPF.QO/Q[RD4 M^/P>A5 "**>?1B\.-ODSCUD=>XZU]E]ZS)\6[R;?$>]^$D/[W=AW^M7S3;PO MG[,O_#<:XR6&^X+Q$L]](;[Q--Z7^.U+^AM#XGV)W[Y@'HOGOD >>_4<'^_+ MY^Q+YAN!WR\QW!?,8W'=EPS>EAAN"\0+?K_$<6,PC\5T7TC\WH_AOF2^L9C' M8K@OF,?BNB\DC_OKSSNM]/CRD_30C<.X1P50+_H-L1;Y7) M29;H!Y4(>?UT#@L):])ESJVPD-YPB(2%]/7@ICD6^O#__J#^^'73Z[K7/KGW MR^NUVP\"G!TRT%3KV#-UC/7FP\#U:C@[1C(BWV,N7S>6'".I8%J.EX_Q>E U M1C+Y.#C]+*(9(Z%@-,4,3:^&D&(DDX]$T^MQM1@)Y;?1A(-<=TXC%_.5TK_J M*Y'L-XI[V3*87&X38>&1C^@8?&%G*NC#=8;[EKDIHCE1&:PG M'Z(G_#?RNO*YL)YT4.F;&?P9N-[_.ZGN2$]6:^@ 7<++BUD_ MHZQJJ;8&DHD\T,!B?(R0T>2A(##J1',Q8,1L[4?MOY0#]_&KNTK;C["RKZ=L MQ'Y65@I6SS0,I[04F'I^,6L][_PA>(HT0075CCV+#JV&T,.B2O@1<-#;V;%1 M 7!A:W@/HZ(CH? PJ!XJG[)QZ.*ZENW3<@XPA%_3H\?O MB/Q2:>U[:*EP,Q[:@1 /[4#RAL?88#:JRRDC9:E#?=WUJJ@4*O7'/VDBR1*9 M),^]UD$90^25K.N8K>X274"B3.E[P?Y;6_Y\ O#?V>PL?/@A2!O-Y4SSG^IH MZ0\+%4LSJ[U2V^ ]V?&R+8AV!J(=@_S72NG$;'67 'E4BP:#_%T@?\R>/_3H MBD(Y!\#[RF!?<,%?F S>=-,@9JN[C W QH\,XFX#M(&O&C;0CW'6 M _ 9P'J:41[T1'50#$H,E>W]N5YG:QMVE/?++;V5MT*>G)]%39/2?_Q M#YLD,J=XQW!_TU6(F*WN,G#G/V=A\8+[=K.;N[6Y426,90;TVP$HUO=7-].W M=7OZDR^X-;]0OM9.]@?(;\5KSAU?3P%I\?2W^@*O#\5KSSPIR8RV^ MM1W]D!H;,5ORAY?0P%I\%[4MXK7F#R]=\?&N:'[MJN@Y"JF$OBBC=!V%/CBF MS&7B4/U]G:$WZ>[$['.5_,)-MYFL_#O>+?3CH@@W2CX]X]CF1M/.2I%'(V+7 M=Z?NK%#IJ<.P+6WZCW_X))6^8FK)UT+(Q]3HB->:/[P$1^Q88D5 UVC+Z*S:7M]4NQ;'+FRAHRP#!.C,SP%]XQFD4>@J;VP, MJ,^ZAX1LJ2[0$W_^S^N['OU*N.>'9$-WTLY*S6%G;5;3"Z^\U]JR/VU=>.O? MM_-/EM@$;IA$F#^L]&4"84-U7:6V+/=3RD (B%6GW ^Z"[+*=Z9__ .E MQI]&+1-+X"9"*=SMV>+'$^&-).1>VNZ/V8)CH B?EG8:<[G<2-8J!LC'!#*Q M7&XTXQ,#Y$-BI%@LMY$;B0'R6>%7+)>;R!<\D]^BS\F/3+F0HACOF2>CV;E=9T??'=XV!L:.+DG]DT;P&5X<-<[P-T8 M&FC"C7'T-M"39 M&T[^B3D6/[J;7"QE@%-?[W^//[K/6QR%$,?D6*SG-YC=&7,AX'3/BX?W/L$H M'')J5;='LD%TNF1I8X_;>H%!1B&*&O[,*KR+#-(HTQ)^C:.9"J,# M-P$62\O9 ? LO)A86JKMW?(12[QHY$:2)2]?O?2BWNMI2<.*-\A2(DVN1542 M5Z5!=CG=]::_4\LT?'HY! B<.]R/B&2BNJ;AG]F7M%1TG^:M/]8Y'6O\=%Q2 MW+GI8H#@-%6;9=!2>!3ZH]/)-''-"PVQTBJ< M (H30*]D7W[Q+<8)H+%( /WU]^@7RP!M1T9FUWGO:_7Q'%_L9:O9-&"JQ,JE MIMM%S@*C[!2^5L/D3I(][2>&WZHXNQ-G=V(]Q]F=.+L3ZSG.[HQ;=N>G6X_7 M3.^\@,6WMGJ2/3!ZO R(]6Y/J+VQ:@30XHLR-W]B\MU%ZB84%X!336AKUP6V MMDOXKFI[5I2GJ3Y*^Y;/;5Y#Q%=K(7\'QW#Q8OE8]D7'B7Y8_>\\KR]>8L!I M?%]SW^/8.1LGZ<7C;MNUFFZKZ2%;DJNL8::*.4H*J@5V7?J=IML_^KZ#;Y [ MN 9=Y!E$DA-LO?OH)SPZ90W@2Q/HCS4=-_P'WW>-\=I7QQ;H.DWHE=G^N3;> M*:+B]-N (0P^U23406O7K@@*281]O#DVW16(Q*\ET9FVG=H-I^)[-_.P]>X/)J#/5GH*$ M82&3-E">&_1OGN^N+QO?_%K$<8AZ.BZ4:BH:_)U<;A.> M8QEZXK^)\#\Q8Y%;.^N+UXX?XIV?O./QDLDA^(E1\&5V_!#VQ"@XC8%B%'R9 M'8^BGQ@$9T*A,4;!B91BGE,S/56N3O*R( U]5U-&K@I,5!(,HR+ MDDF"I&\X)3EFN(WBH)C+3H.B,:8R_$*_2C@4H^ T-OK_V7O3[E25K5'X^_T5 MC'7.>>_>XVH.8+_V\ZPQ$+'O%37YPD H$4%0&E%__5M58)-@LI(5C2;AC''6 M-EH45;.KV=6<-\P%5S_0/\Q3^D$';W$]\K)SN5CF@-@9FDYC.J?2"CYX,Z\X M>#]Y8JC_BKRHBX8$8D1#M*2IGR:9H&+^!X3UKQJ$NGQ&Z&-9DH"R1#;=L0YN M0IA\1-U.QA9:DS/>U"]08-!=*9Q.SO5:J><,R+%5>]=-_:-W^)?V6ZYCHYU" M7)RXD:_6^&ZC7^9,+5VJC#JS=J57MJ# H-&5_"092Z=RL50V%>4Q?'P:[M69 M[24X_?N2F;=7W_E5@[L?+V/>J./@R=&E%6#9_EI.:"*MW':>8X2>P;< 5TF2 M SHC,EBPI*!@B>3)Q^;DP0JDS++5D-LER2X[E MF5RWI_8R[W%G MCE^=S2XM8)[/%K_ZUJ_K97FGB'EUG&3&-ZFJH@N4UF/J;99^H#H)RSNWN'G6 MNT)JDW'NGO4Z&ILK+3U7'VO,VD-RQP]KI!)AL?.I&[+?FMQY)N/[ZMQW>"(J@%D3K0,"!<[D#&;W'VN4O,VMA97F@O7I?CXE#N[C G= M))E4"@L:N$"C:5[LY 8K2Q5\T9*$HH6*)2_9HC,2+<]ETU^=P2XO6IY)H+_Z MSF]*M-S3N6UUHD@Z&9<-:[*>&OUT[^)205 6!7=9;72UN65O/'W<9Y1Y>CK5Q[*]GS;D7$["4 *IW-C)-I(9<3TT)RDA.%K)P5!4DDR?0X MD-J;)#RODJ%7@!3G=APPI9)Z.+"PE@QDD1QTM M+E*ZMY%+;JWG"3BN\GADJSFV>EYVL>%8MYO>=H2FN@U"V65G?/Q=#^_S6F43F_QT,33H9K4KLGZ?=;0 M>F++G3;KH^6RC8>FGPX5XBK]X)29#$]/>Y*]'O3(*N]!,1G:E+R==-3&=-GA M1+LS2//UVJ9+=^#(Y-.1/6UET_PX/B27KK:M&&):TV0&C@QM?^0EJ)3+)EU^ M.$@7NLL!OQR8:&1X^TF^NF"GC>R(9#/MU8C7"SQ%*6AH:/NI=I-=TF#SH+'> M@)XJC#XE:3PTM/WZK+].,LN%H=78@9*F1Z/R)N$)22'T?FDRG8!F<5O6XCI/ M"=EJMS]4%#@RM'VZK[*CW)3><)OT@[VID9F*T4(C0]O/6$MIOJ M*;93FBKH[>'MLV)],!E1Y -)UYQT7N-62HYAT-#0]@=>9D,-,[VZ-JR-.*8D M3 ROT4%#0]LO"(5U+][)S;1T.][E5ER-$BE&2(6WOY**ZRT??\CQ\:7;7$VW MJQF8>W!DB$Y*#PNZ1]?Z)KG<-JJF7#0KU2H:F0IAO]YEV'M]*'/I2J5G-N;L M,E=!;\\^';EN4VRB*^E%K60Q7;V4%[554H$CD97^>&B_6>IU$Z3:X<6\[?38 M[FB;RWA".KRE\4,^VTT:ZQ$?7\R]4FG6*_8@1M,GMC0KR1:H-]=3V7&C M-&G$&3@RM*4:<$IJ>\/UR"$CV45^8M1;+30RM*5VS>%(I;]V>+8F3@)F?"6]%997FJTG(>PG]#REN(;:J<# M1X862F:JLY7B4&UNV)UE/(?O%/H;!C6*#;U^*#I&N^9".JWE'EKV [WNC>NX MIVR(]$NUJ=ZJ R14!6>:=I8CSN 4(1M>:3F?$3U6]G+^+S[1Q7L%8M'JR:59Y.NTQ+QD-#>QI,"OGR;+DE-9:TF/9]$:+U 15F"^UI MDG8HQA%*"WXYO;]5[)JVU6L-R,3NG\L6:YY?W?3QR MEERX5#TNH85J2R4]*5)"&]77#^^IM\@UD_4\:_/+PK8[!WI&7J=Q!;G0GEPE MR:II9=3DTFTC.UT65[-BDPF*S3V9E9OG$REFD-%*3;>1:-UK]FR."R*$]B^L M[%0%W'+4R:;[J"A(0#DR*WEV9T1Q0.QUM/'$&F9KKY M6I0:IM?A>I7Z++\02LN4B*<-;TSJI7G&:C9+?(^1EF1NK&ZM(>PM<>:M-J.^\UVCR>-;0Q?9:E M^;B43&HMF1X-,UHU/:3QK"'4BOV>M5QW[A_(]&R]8%.%TH MSCA!U_A-IU]PG?'&F:X99#:$]E7)L#792Y,R#[*U^8.4VC2=@1?D?SP>VNGF M^IS1SU#D4!LFQ6TN:]A_J6'F?JF]4N0/-XJ+&J MSFOI![,)!59"3&^;-7(A[QT?3Y2*;--,)V?K!QZLBPEC32[BBQG<5R*\KU:I ML)R-YLL>3[=29I9)E'NU)!X:FO5AMEEQXG0[Y44H5_F\Y[FVA(>&R#N_K%0M MMUZH<+6FY&V;"6B[(2HXI8),5VLOE^DQ&[XV((U)+1O/-=+^V- A_#!:ZPR? M*Z9X<=R>=2?MM%(7%#QV=PIC(VZG&@>VN63JNKBPP<_=AV-U&]TEGOKZ\EQ< MQ[%Q:^Q-];@.)LZQ[1['-C;^)G")D.1_D$KN6+NW!K-1OJK^RA3!U%TR^5(R MLJRN3LQOPCDGNNGM]/C=WW'DN?@YMH"HQ3T(A'\6IHW#DS]QKQYU!9[,&9@' M^,6[H>+8-G77 4\V^G'V,?5Z6^6_<"_[?R^:%1XAXH,0\;L>1Q$B(H[X7HCX M76NB"!$?A(C?M4>*$!&)IN^%B-]UDXH0\4&(^%U'JP@1D6CZ;HC(19;U32 B M$DPW@89(,-T*(B*.N E$_*Y?682(2#1]-T2\W-XM0L2'B::76\Q%B'@;(MY: MN>-W8;F/VW7V#;O^!&61SICA^(%UD".H1+3R_CC-]X3*[X(FWQ,J7YV#)%-' M7_[O#_K'GZM Z8M"*/L* (T?O>08'C]^':[^[RI+C2/*N!R_O.S-O294J+=H MIA=TI7Y7RKAM?OG N]^W"82/8X_?.?2N30H1@UR305YTJ'P7!GG9K71M4G@7 M@T0^GD\O"LYF=23_U.J@TG=T]JI5H=]KEO@5#GV3!-^BC^R2R&+U20.5J(M7 MC,A<_5"RH)*7MEW?[9]?:I_+Y)]O(;_/1/77[V?[%F8P/XL,O##J.'] MX@\*@\]-&D<7;2"&RJSTP;QU60"HT"7]XU;1CWH=NY: .XS\?:;ZLK_J%\?8G"Y%-MT,Q66I3.L49%7/MW0X]/Q\+--UR(>_J..:O0P/[3TU93DU1K7=Y.#\BC7N'BC :8[ MFPWEAN22[I+D5C1?20]8Q,_9'[]HBHZE$V3$U:_,X;[V=L[2Z2SBZ0NU,&OU MS [I,;)#]C(%?M%*\&YKD,$X5M$W1J]:P\HT***<3T9'] MCNYCGXZYG^TF=D7V_N=B70G_F*>?Z0]V[R:D458I&J0ZWN0;_0UC;=6SMSQ5 MG^M!6*];4L+M4SE^F'"\!"T]-+NX!P7N$Y:.4638AOXB/0B?9CE,-CNMYF1%>4B_UI*:N.XG!MK*V:A- M?/IF(,_F,C'J]UV\;CC[:(= (HWG;P*'4(-(W^V'Q_^S\.;%KK;=5#FU MU&DU9'XD]+OO";A">\GW$-=-VSYA/4*4I/M-,WW/MR9Q?JU.9;DX[*!VELD? MO]*Q''W!QO!?G!\^IFC"9:S+#R]U<%N\G-7J5D:L)1\TE9%%BB=5WMF\)X[R M.S:L,L9,F(VH#$]GC'N6E<=F1<5LF/D]&W["A,4G7IV"NE(A%\HV@K N6D F M_OKWRRCW'\$(#S+?K$DWWVK?]URMEIS;E:W4Y1VEOC;QK^=.^W[X_0YIC1-U?(Z7O6KZYB+J_-I9O([7M.DZ]B+:_ M.(YO(K/K6M[ VZ+N2^2!?4JOX-X8/>&*4!:Y2M_HD%U2=%7*S"1[A0G+"&GL M$4S$Z&PN2@'[>.]-X=L0?0(9KA\AH0Z":LG]_&@(=_V2?N#TM]IU. MQZ$*"8[.YJT?KBK!)E^GT%R_6+XR_*]+OA M0^LJMNC+-XGOD][*6:>G++GQ%B941D=XZ_JZ0 M"'@-(HTR!L_I\/M3?6BI)CM.ND8!?IE3A7XU-2ZZA@?U(>0,_*U"]/E3"3'< MXF/1!JC Y7P!#!OC+0I11 ET$9:C!+HH@>Z[4G>40'>CU!UYP?9:'R//7-M! MJ[+[YC/OQO$L!:J1+PU<4ND$S%P+-@S?&$PIB>D<9\ M.&OE^D84??7S-.[ MEE_OMJG[D[OZKJ#TK6JFLI:*O3;7X_LU0U#9GE9DH-*'O(2_T_H^6<8@^RA+ M$'M4_71 LP7NKD!X)&CD%CHHA'E 49Y@%\S#Q#_FW\J2$K6<5V"0V8@6.OZB1+6;(-+/GX3UR.7BJ^0O?7/&VYD?VE/#=X;(54P=X0)^<=I5 M<\)+,TPV:]8RSXJ<2K/N@N3C"Y%G!(I$;AHJ1<;2V?#US:AH0Y0K%^7*1=0= MYJNU)7,F4MS.H<6!G]>JE-$<=!ZV906I<2B=[;=ZW"?+9X.0 7!1A.1:%C"D#>%8HF'K?O*: M> !L%/7XI"EL4=0JRJ.*\JB^%OZB/*J(2&\>?U$>U9?4WM_HT)4D=^YBG;SE M3(&%AEE@"M5O=07\)G:!NI_O)\H(L<&)YRVT**:Y$2>]Q[C[WOD#C90.% MMX_T71]RC"'W#]KOP:IH J)<:YNE5M3*]C2C(U 0OM2/7TF*OJ!;^*NS7Y0(%QV$MXZ_ M*!'NBQZ%9W=DWK3,8./K,QOCZPOD'$X%0T% MH"80$U&UB!6Z]XH2"F4XS0I">H5^LQW+/:]K[/MYQ)]-)QR;%@1VW'_^)[58 M$[:IJS+Q+Q+_[RN?AM^/"IY-@+LV%=R$F^X&X1)QQRTDT%V;"JZN<3Z38'=M MN$3<<0M98->F@FO#Y=/S1N36?).-6#=MN["W3[BUI+NRG^N UP\'64"T00'X M_V4F#K".$B>0(0G-Q9UE&"H$/DYG&X!U>(VNQX7^2.\OVZPG4#3V86;2Z:BN MXP=D_UV;>Z]^XC^3'7AMN$0G_BUD#UZ;"J[.'<]D%UX;+C=[YG^8__:R9W-O M6UUL"UU3)>>+3L(DV223G2CX;,[\[FR^]6Q%.&=>U%%'W1C1$"UIZO>63E Q M_P/"X^>,0YVM27;@0WW$Y G(Y++ICG7PB;G\#7>U&5MH3Z ME@ LVU_+B2.]LBT,2F6%*FII.Y&4$[UXI[' [)^"[!]Q_?M * MO_:^/BO7OWSK/+NB)HP\ZO(:8&1>R7?IAT[WXA*@VE\NEY)9R7-+MF9/XZVX MMUXR2 *@3BI9.D9E+NAS^^)R( @:7)M?SBX'J$@*O$,*O-JGWRVWZ>:<[\0Y M-]6M\L7>>)-L75PB#.QBB4M+N079DGLY)7E?)#.JAR0"6FKO7$'\W[RQR^*CB73F>@6P3LC"M?FDPOP M?^X6]G4["L$X/YRRS/VXQ(E=1UG,1'Y(E\[.Q4^9-R'QPZZ\+"H:8+.-*;=- M)_IEGWE1?YP,&QW=CJ1H%P&UN-E]J> M$"54QU4T-I!("<-TX/RH["M MN&CL1#5$0U+A<'MW*MAW'[>59R!.[3&S#];1'XV$UZPS!W_$?WD \3.40[K\ MYE7*JKW0Q0VB>?#/VY:LPP,Z/O7?_=HUD^]8\W]E=;7[%_ZSFUS2@6@A(3Q] M@K4$>EEPM)#D?RXB21^3%9T\NL/@PR'[=.G_YWCMAS!Q7#)UT_JY.PR.-A5 MF,;G@@+B8PN(6EQ$PH&O#X-5T;JFMVC !K"2QV%=KA5\0" M6+N_YE $.?9A)Z\0LE@JQ"GR[L!K@5@X?/E8G(3DA/\CU-.DO] (XO\1-'[R M[R<2Y)$@HHX4Y."%_E?/3+\3*B+6 T6J5RDU*\4*RS3[#,NV^&8?LD<;DAU; MX7I"(DU3">J'S\>^*MATYQ!/THL9+:GCC):4,$ZUN43OP6QPH-:>/'2HK*EU ME9#6"E&L3J A83@,5*@@!E!;-Z@<22JP^_!5>1VJM8'^.A9DE9G4,A6Z0++9 MGC0E-])F'O=\35LU7" SS@OC!#2,^D$ J!D]P5)W M?L)%^-\CO! 'Q! [S&"RO#!"\J*MVJW)$V1L_'_#"%&V?C6:6TX,E4II M\9&7Z5P2Q/ZYA((BJO0&H#=%Q[7P:=6"/(_A9&,)@#>,OF];4$LWG$-;AK.+ M,I1%I4XV_E$B(2J:U,'WHQH@Q4*!.81[ #:UH9@'7Z6^"HF-0UE'T M'=Y"L,H8,06BO'2AY00L:!U!\5V%^J%M&BM5UT&,*$(-$5I.,0(B3204W1Q# MRPD*9M3V% Z&&'$GT&S%[2'QBJ%R[U\X1E_8X@0X&P)UEUW@UAQHA(E<[/LF M'@O+E%W)L9'MC2PW FZ- ;\2\+&60Q:;);MP/'V EET5HR8([U=M#9X-L/% MYP1'LVD03)YR<40V-@M2:-8["W(2$ZH::;3=&R!)!7DW6A MEG$UUUWV.]7VIN-4O!^_Z' ;AR>H7.!)<<\5?*0#@K_K029H@+4JF3&"%0T1 MD07^Q4 Z"5&#S\GF'&I]4%A RH)3X^0]A*4ZG,<5#57T_[2!KMN$"E^P1[]G M6KH,CT^P1Q7Z658M($$% NX,4PB:[T!A$'_25#0,H#\A/=1]%Y*T 2RHA)@& MLAJA<#$A#?GOAYNRY#@:LD&$!5<#1_I>@/\^$O@7E__LWCJ\6:Z ME'"W9$]N%I.%V7UA4;A%J=^&M".I"X0LWTXY[.UV1'S(F_0&3Q$Q%5=0O M"*,G1>8FK" M #Z\[3<4>HP:!(BC2JXQB I5FF+'J>]6('SJ025@?9Q#\804MQAA D>H.B4 M17#!Q3!.O ZM?Z_%8<@\[WE]$2+X*#?]DQIJ(HX)S433U2%V(+%#=0,M#Q/B#]+Z<;1::DL(SUSNI=D9[X)Y- M/W49[S=&[';VX>?4\;6="?[?"\Z7EN'?A2"H'-+FZ63LF F.R1WJ6+NMF<'6 M$"'Y N#X&14W>/?5,@BRX'+"Y7JJ)00J=W0C9_?'/E:_.Q\V/:CTM28XSH;C M](@2A1 E!E%Z32X7N-EB(?-B8=-O:[0F0S)X5T\U].(*!D[!U[/A^TS93^&' M1(!_.JUVU^3MD$HM)VERV&HI#Z8\\DB*@6IWC";)&$F&M6\?ZCXXT=$E'3<^ M%*'=A/0%"=G3_LA_OXR@@KJ"$@L'2P,469-NOM6^[[E:+3FW*UNIRSO*,U*_H,F=SY&V@@:$"'XNY,X&(] "ZS, M88&G^51:S2VG6R8C9)O@ MEI,^\CR S/Q7X.C/K[1=BX->&2'')T8[@%,1@@FA#)UWKU=C9:%@N3)4^58,F:X:.9:E$V&S%02D(6GA >U#?A9^A&1@HHTBF M27M]%ZH_$Q R-HQ5UO<8&TG6,$.92S4INR3>.(VG0=1:#?N M>2",DEI&&KDN"_DK&:.RX82D"T78_\3\:P5>,8(Z/D&/",B&U %U-14IL.BG MB8L40ARN"*P*J/29*V#!1>BFX[><7>PMC(4+SV?<>%9$;11V^>47N/JVI['D MT1W7_>??4]AN1 ONA=EMI85W$I!9FRV-N^:,S')J7:>\])9W^_3[.I7^^:GJ M-&DAX^DT3P*K6>Y3DZ;0EY4?OU+)5"Q#Y<*BX?1Q&B@XQP'8$RK8CU\G3MU= MP/6WSU[P>#XK?A^HK3 FE33']12U5>"Y@CAQF8\ZHG/-E==U5#7!SQ\\J[?. M4?S8>/:(?C7PGYSE,>3A'^+0S#Q6A2&EG O%?WY@7)&9/^2 M^\U M*J_%TRDMO2XXKJEV^]-"Y\(V MM9+.6NMF9YN%VEWV1$3BU8BX>Y2Q]8%N$0Y."I4,I629GC,-I,ASKI&U)/0? M1H NDJ4Z2*RSB^8L6[VB:^19!6FW*\+?UDXZWHX&-P2[U,_ @0UV*U;\%0=^ MMEC@U49>9!E,4&X_$02SJNY\83LH7[3E6D1^%R[LH:_W$E0F7'M0^> M])T7.G""'AS\\&3R_>(+=ZQCPD5;4K%_%&DFV(/K$*=WCEWKOO\1>^O'KH-' M(Y8'#B ![ %\L,@7KY2;=/:$"O3 /H*)IE!X<=CHZH M.*R+,FR1201/(L]^:7$01S+0Q8U/<')@2B&M'5@^ZDZ\AT!?Z"C7S 9'WWHX M9H YQX-KQ!R%W[# )7C @4'N""A&L+L=Z)" ??(75R*)02P M&\L"$)-0"X:[>E.DQX?KL0E ;\+.U$'@;R MH_UM"#"9()D"<8/6]TQ@_E;N'SU9UJ?,&,]%&>.WD3&>.. DRAB_@>7]2<8X M$4=C^I4FSQ5N:"M1]OBGS![O2P*;>6"']3A3(^-:1RZ-D^L\A2KPHH)@F)7W M(Z&M7B[G2-WEZ+D-IZ,Z'65X1$>*6% M*K!:4F_M:,,N)5?%AFD J/+,3SRU)\T!/YEI65>PMGTZLS#!P9@I13 M=7L@JV\MOL=TIX-A>;$MU=&<(9)J33HL6\P["6U>+S=2TW%!6@_0G"$X48-N M,<'.Z+:67O3+TI*MDID4FC.$TIZ49BBIN$YH:F-&JAN:D0A!5B@Y' MYU(/)M\JS[ERT=,J?4-!0T-[XI(5HR(D*(X4Q9%M#BR9U(<=-#0$_(W U!_8 MJC/D2EEM4K*TOK"2\ )"Q)^>,H-1CQG;_-):5!;#:9LMD!BF(?#/03I55LU\ M5RNM*#H_MI?9A(C6&B:4J3#BZ92D"Z085[1<4B-3\SD>FG@ZU)ZNY0395BT82%N.@FND7*\CI .4TH[*=3C@R%%\>F! M<]]I0%$U,]#($%073+$ZG(T:MM9+)]R9M2@OI04:&:*4=9*U\MSB/DZV*A44 MCEPJ&5:!(T/,;SP4![UJ.2]J\\VJ+I"-_C8-T,@03:4WU46^RU49;5D90AFA M5#MIAX$CPY0RX>F"V^1J144/#0WMJ:67]3I'FPO.!:5G^84F:3NF*YZE;9057Z;429R;(@B$*:6[G?$)J5F;\TN.'XFCL6K/^ATA M&Z:4'M0X9'I$][7ED!>3A;F76Z45(1<>F75JG9DY[=7)X8 MM]H/S?+H@8$C M0_"O *U8*;O#$ME;]9H]B7-=540C0S25UXI;.DV[?;(U >59SIV6"S0:&:*I MM4QUUZO%.D.*A5Y/)*OK>L=&ZPP!OR\T 5EON"T-C-MEM9W;TM4J&AFFJ05= M3RN;;,_2H#@O\M1R/'&S'AH:VE.V\3#O,SFCRP-[,5RU#+T]VJ"5AFE*E%1J M/LA:"4VT=#>9]V;#H8N'AO8?7Q9'\K*LL5S/E8HDT\\N%FD\-$1^5GT@#WI9 M5N+ITOJADY]VF8=[O-80!,JE#7G?=AH5'FQUN922-]0@CX:&R6_K-CO9]L2L MDVYK7,RYJBUOMQBI(6!E$PTPK:X'6ZTUXRK59L/1\^L.&AJFU*5N%-LCGM66 MY$C-C9L+OL_@H6%*S9?GYLJSJUIO62R/9*ZN501%H,@P 8Z5_+(REJ=Y;BA4 M>XX]D)96VV2GD*WAT! *9MG<9)M(*1W.'6Z* MG#HKRO<+/#1$@U(FU4\ENQ-'J_6]87)>M-1M&2\@A )K0U?<^NQ!U-34.%-; M3YV!.630T-!IV4UH'/] EM>:6LTD&45KI+L6AD"88"N;S=:2E87&]\"#[2J, M6TE,\+1A,M2K^G1NBW.!=]Z+&B/=0XO# M]M<0VMH#727E7FF^Y>AXX\'N3^<+<8H!%B:O)KN\MV;N@N2'RVYO4QVMU&'' M1UEH;^SRH5I6N8Q+INO+6;(O>*"2\,<^)C"AK&M4*ITCLXD]1ZGKG\&=2=^O M_.+]RMV]R3?J.99(7AG!\F].I@>#]E MDX9W,V&M(].3][V6^RU<.Z!UM#24;>C?!!"=@Y?Y;45,=H$/Y+DU1#\^@=RU M<^3W![M-^X$3VW9W<2G?DXP=KD'X!(6FD,]VOK_1 <>#((BNJR)VBN[NE1P' M<"8!Q2KXIM\SS_AO0=O8^=*?O0_PW'(LL *0+1Z'[V7_WMKA&>QLQJ$,=&/$ M46>0_MC<";(XYV=VLLN,L#FIA^T H1D^*J_L4N2'B' M6]I$;Q^U84T9WZAWCJ]4,;W]E2H_+MHW%Y!FLC09VR78G_#E!G!]%ER8X@M[ MCK-CD$2#="<_K]^/'XWAQ/CO9SU.TV M8"OD@SMB;_CPV'2=XX'SHZ4%<;\]M$3=-A^]&G,ZAJO/IA8 <1TRLDY,56"A M.PWH7@R2=.["](/T.":);D<9$L[-4HV%Z^R3MM :]M(2I5HB@8."3CMQLR&" M>8[6B07/S\N2W2D:2R4QD=7QAJF?/LY:8SCG"OOH=UM#PM@"$Q211%?,\"TD M")*E:_IWI57)OP<+)0"Z,">A&UR^H#W:.([(6:*\NYN((VF[^]%7WCO]E M'F_8#V_";1M/]KB[/;6[@8R?#BZR'Z*?Y@&"N^OC83* +*#BU_B7B=%-1'1W M??=7##^*KB5"EG94?&%SG_;K &N^.Z?",U\;F(D F+QAODQ*QP>^S\8>^MFG M"7Q56I74A7_C&Y^-KHU[8"-DX'2)DS3FLVO 9&/([(]O6Z)8.EK1U7._3TOY M_;6.@_YQU-E[=PES=T\7DP72<$1[ZF<3H@](XX)R"#_PU]PTP&8'TXD+Q2U7S)!B.THAN<.N[NZZAW2\6EKG& MJER0KK^;_NCTDEVP.TIV 1B(8GL*5<D_/DCQAH,K MJ#9.\CC:X^%H]<4C2MQX1C$/#DD9:>A',^!KR8<+POB"\L^/*(P##5P@NRC# M=:\7,WCEC"'7#^L.U".Y971WB\059G#H^X3&7#$M29RZ8VWC3@9+TG7[)?-2 M&O.+(OUINLF?5W_T26"7J^&7?)4@@8@+&_S&\IN"#(;4,13\I,#'H5) M1=/XIKAL&8XE<6Q=@O;I5+X.W]ES['$7>:E$L1'$=>CZ='5G ED MCQW0=G_'47W!2K%=I[':BR2#D'=DZA X?[YP MZ!_4LGQ==>%7U8&.D'!9)+S(J'UK9$0":W/A9=(:$5" MZ]LC(1):GPLOJ3LJXI=(:'UO)$1"ZW/A)1):D=#Z]DB(A-;GPHO?93K"2R2T MOC$2(J'UN? 2":U(:'U[)$1"ZW/A)3(/(Z'U[9$0":W/A9=(:%T4+[@+./[_ M6;+FK@:#[!M@<#YA_4$U;EX+@-"EJ3="1#)U].7__J"H'W_(K@GR+K,OP;7/ M.%VL"7S!D-A5][H@2+-OA^A+=8-P2Q3_*D2""BY8H53C0W6@B)PN2$[T72KW ME.Y,QW()$_ES.).^I+F0@ORIE(C[LJ M\YRXLOUZQ/I(#?\;$A/GTL^^#D\P^#;X37CNN31!QUYKA.Q#'[(,N7Y!@ZXIB(8R*.>0/')+XQQYS+ ?)U""-2Y"-% M_EI"]JL9Q9$B'ZDED5H2*?(1QT0<\_&*_!]%(HZ;8DL2 )/)58,3?IG&GW\F M!FYL+SM>/Y>N>5N[^Z-^I^=P^WX\&(ZX%]>J? 76WXS[B(PC,H[(."+C3T/& M@5X5D7%$QA$91V06G M\2L:H398-Q<+NT$2_9@0V$M[_O?97(+7Y*K$TVT108^NHH5Z0)H&X1JJWZ&+ MAQ^$70M3@>\5!/U>FH-A02^1\36C*?7J*G[?9WX\ZNO%V$)KP; M=.4W1]U*<1LN9JW:^W&[>US=H*>OG[:T?_K0V+2!KU\+Z@K":);7-OPPW<]* MFTRBI=4Z/P@92.IC'C:4XP5[2EC MR.@_W*%]W8D%_"!LB'GX9.+'KOUW3C'FO>8ZWB-IK;!JM@;91''&""DA\>,7 MG8XE,N2N7_ .W+<7"(^8/V+^"S+__F-YUW80![H?R8#]&+\!+!Y !?S^5GFR MZ^1^U"+P>6'R\N1%U#P=]1D^O=CC)LS[/H/!Q'&S(]J%K3WD2TNKE,E(;E

74K\KTW4-*86[\-)_:+M& M1!@1842$$1'>7J6=6]'7*#I0V)(7M]9(JMD32(YC2-"*)YIS-J66O6M9:^R6 M4A;I34OFV%K>D>+5!]6A/*@'4:D?ORB*C*4S5*0)1?S_O?G_>QILPW2ODTXO M\QM.3*F.6DL:5893KB2H6FI*R7H'K-;*9O"/R!:!@096-!%4DJ")M.2+" MB A?0X2?^^:,'S\LP"=6N,(YH1JV8[GX_"+^:IH.(#)_?XD _[68\,; <+ZH MPXW%]F\A$'';4<@#E_LWY4X%&[GRA*U[$X$3'4EVYVLU74UWA#0*-B9B9"YU M)I7PQI@BD@W?33:\2Y>\,;1%U'MFC?/FJ??SA-CI3^VQ49?.IKVM)F5-I3Q) M,0;K]%:X\!&<,98VG 3GHB,X$F)?2(A%1W!$O9_E M&L]-1$UN.VKZBJ.-3=08=$'!%R1,B1:A$1\C?9\RP12T0L$;%$Q!+7IX6()2+%*6*)B"6^'4M\HCL* M%ZP=][U(^OI!T:@7S7$M%@:.:K)]^IIL+Y^)HL*7:XPW?2#!K,\SSL3. MF2T%GHFYZ$R,Q-&MB:/H3/QF1'B+K64B(HR(,"+"B BCXS@BPH@(;X\(/_?U M#C_^P,*A\(705$3VLZW*T!;&!K@?@:"C[C5?*-SXC3I41*$+WTTCR1;X>6!R M]IC'=PZ;S8EUG/#@%*V:V$^JM0VWD>9*0:RN>:;+"!3IM[=)I7)1Z<-(>'P% MX1'5'XZH][/DSD34&U'O5Z+>SQ,(3'SJ0"!7'JH;IC#6M!98,1I9G)++])\4 MSSZCANDF&NT)/65G9&]5G$_S@IJ(-[&&2=&1BAF)N4][#>(FF@3<9@.<,XH/ MM=?KS1[D^P>N5 #49*JF^G:W@\5'"HD/FJ(B\1&)CZ\@/B(=/Z+>SZOC1]0; M4>_GI=Y/U-_IDYNH]F*UNJMDY964NYKHXI5@J5FEVEIGRMK\4? MS#BO]EL*TC'IY.]U3!PQ_J\CCG7P:S>LZ"+'3CF+AN6.VB9 2_VI\ "A(?^.3-7%ER?/ 1* M"-BR;^[=2$DAJ]6MC%A+/F@J(XL43ZJ\LWG)>Q*W@83(TS,MV0;&(\K<4Y[? M=8PQY*-4ZKXE&O8$6'8>.!X QBG.P;QN^R;;4YIM0L-.X).DIFZKW7LMW4IU M1_-NO-'Q&$@,EP5:ZAAH*6&<:G.)WH/9X$"M/7GH4%E3Z[[$S]<%6KFB<+WZ MJC_B1;N5*CF];3IN0: 9Y@D.?_(%X>Q60)@30L1+)$R+T ]K),;^V@@=+X20 M723Z"&<*X/\M (@YA.S4)@#D!9EH(*E/)*@8@4!)0,2@#\F[FV/&J;@"A&$Z M<'MP;^@0L511)Z2I"&6O3:@&WN$$(H18(8P@^,A@[!!_8800]-\Q""](5O.% M:,&-.R9^0 K\$_Y#> A\\ 14"D#"I\?NV^0C@7>L7$SP_^#"[Q[I9D^D\J,_ MST'MCZ]/=.&F#7BZ6N8<'5"(?H:J,V4A DSXRK:IJ]*F#U^9UTU)"XZAL: 6 M[4)E"R2+6R:-'*=UVETGX_G7:4+ @6EU,-S92AN$84W8EQ[XCCF>R_.UM MX62V"XEZ-Z/H$ M3-="*XE I@Z?=%/*5B#&-J(4 4*^"PL6#5(.^#@@'OAH^ M:2^@:)T@88-6HIBF;&,F@;!8J1+ZVH1\BE:T4I&4@8] 7A$5*'YDPEW $P&M MWD;;D@!^$K\=37:26=#? 0F*@6"4U=7N7_C/#F>2#D0+&033?Q[K( D$X\#< M(\G_7$3'ER!F@;5#*IW'M?^?X\4?A$A<,G73^ODO$O_OGZ-= M37URI[')HH#XV *B%AWM]#56 MO5!IEGHQHM)DX?$TOI7E-5M]KD?T6P3;:A:X9H\KH$^]5KU28/KPCV*ER339 M"E,G>GWX18-K]GM$'(WI5YH\5[BAK?S%&Z(KJPZ0__[ 53T]W5Y>(M:63->& MDM>.04DO ?B@/86*$1;&"RCG@[^P&FL?=O(*B8LE1!R>< >^"T3$XF;ZG8 1=S9XMCYQZ#NC02:JA+?-D:\6TR%IBI@AT>&1&7+3K MY6+-X-Q4HM%RQ8+&BVADZNG((MV:=A(IF>'FXYY(S0<=RAMY4/$CGX[467J4 M6U1LH/5H0<3 M>D[21HVFF:F6;O&2[6:A."A;; M)&MY82(_T$.]DV6$='AD7NXI\V6969/SXF"=AQI$T]4\U/WZZ4B.IEAPSQ6F M6H_+\%XQGMAP')ISMZ,GFL).L9559E++5.@"R69[TI3<2)MYW%=8Z;!Z^\+H MQ(]GW_&B4OPA?IBG4@ R,C9[#:AEF6/X4+!>J O"3S;4X&1BO-D;E7M#T=?H MH%T9*'1[:RG0 GT5\_G9=RG_N+J,]% X3-P@ MS1/B3,?CH%8,5 @F>&;O'Q$E) ;1;F+PB06TCQ$X3%\M1>O!IB%^2Z CWQ$] MK,:B5 MA35\#"C?^K=OS"K?VQCX,$(V.,3"#C8N H)E(>O<+SUU,&&P2;$#^\%TAX!# MNX8+4*'5@)[?HP8KL79 *;[QL3D0:HQ8NB)$K;.)88L"HBV&$2#:MBFIHH.) M14;&"X+Z+4'QD;89*/TT1:?HW#\G70K'4)\B=P:P'!$"4#?AF>?35P!_V[?4 MT)]HP&E>#09AKMKSJ;E"D(+;?FQ(JL;*]&V[8SXST83HF[&JZXA?(!P!_,T MB*.A<2)-D?V'N,'4=8#6!7<$'_PM<]P11>38"F\LAM]WPK[=F;:NO9-C*@I9 M$', E1TH"$0;[0[)(&38J@:*"@ 9^WR<*5QM,$ZUL;&Z@$('4A.D'O@#]NYA M:]LRH15K(PO7$RTY$ ?SA0XE5@##P.<9R(K3@+\C"BZ6JJX1H!"[[E0#^;H@ M]P<\ ?QX"9H.OA@"'VX>P@>N$"HUMHJL#HS 8!S $LK?'F;%8%WB(:M2]C(*3J28&D[]C_RA!H0W,2^8QTH[.A3MBN'-O8)HS#AC#R\1[]M&& MH/DLNI!HE/R9(6,@8A!]'PMZ/WX4OQ_2D@6.8(B&[LXQUS@P^O/G-S[,7M@S MGG$,H8>D)4 ^'L.YN[TP#N/X9S=R;T$X[^C3.GC\'LL24;?-G=/*1\4!B+[# MR@*.:QF^LVNNVA+0==$ T)(B)%U4X8F.W7.'LTU$CR#594<@P1H")]UC4MD+ M*"B,'-/"3CUKQ]6!"O1H!?X['XMIJ,58;K!Z[/ [;"'\:.#=,XX&X><#!>;H M_-SOX@B0=P0#C2WT)5+:PF(9\28\-2"J3&OC"RH5^147^!CP783^FM![H4P3 M+SP@317 M+ TA<*',D_&).0$H: ,EL:_&'A&/A9A0TEW9%\T&< (R1,_[)\\Q5$Y/C^!M MV" \71AN.Y:'-."C$3T/SUT932!CK=[45=GG!P?^Q]?LX!SF(@A[!]0%'[< ME'FV7X 4"0HH!,'>,"!,UPHDWDZLPZV?W@!V;NX-!ZR=B'MV0$K0WGSQ9SEV M5F,:$_=;G;CZ)-!3L&B#S K//2RX@SEVW^/)GUH]-T16ON$!X0HWX)\^"U'% MVP?P,#0WB*:"= ;,M"#V-Y88. "G!X[R#WH)6 XWSJ?!_IPP+) M0B?S L=_MH%>*7 MH1T*UV7Y>L&>FP)6">0=SCS+_&.?CUOV<9#'<8\+APUWH?FVSP%#;,$Y&S]< MN(\2+J4N?R_V4R.^MY0?9FKO(9?CO4\2]PNV1NSV=DM,;<[W=/N4L.#[7:3: MNI:O OO^$!R^AO0^1_YFP@NV=% *_7-'!A-\Y$*:A98RRL'Q8VZFI<%ID=2% M1_GA:7BD0![&>CS4"T2H&=I3/XAWK$WYW@ET_"*V>Z*Q'W294WOQ^7R#9CEZ M*11@EAUH^@M=E'Q^\77_P*2P?GMT798?;X-,^MA;HNNFAP\R''S"B2 0UXZO MH#])BW@*%5])W!.,KVAA[?ZI3-R-/$XP"29]!K1C4<<6!:09N":_M^NEI19R M,K@Z:$V>R*U]$AZ.T(73'3)+MKFH-OM5DDV86IM+U9)S3KF0(#L*=!['1D[E MSQV>)%^?.A<00A!+Q@XO%$?6Q84-?NX^'"\*15^#!:&(C.0'+Q^%<437,1_' M]4,LCK5;UR[2Z^_Y=?G9&?J.?K'VT%%$Z&A^))IP3_]P#G* /MMS#I((7@42Q+'D.)=YVDLZ8/SPH^>>SV='*=.O"^Q MFKK+IB*\W")>4B]6 X_P""1HS*$O__='ZL>?'G@I M_[*G;R7N[FDMU@2VXXE=XO$%(9I].T!?2FGLXZLM#?]J"W>XVN+[FQ-4S/]P MR&.,&.TF&>V$Y^OU1.#C./SO8ZP?,Q#]IPQ$47>9Q%=B(.1N"\'I,MKTMR(2 MZHL12?(<(O3&B@SD ?S)P+'FQX[QS2[>=S;1>6,[__@J$[YOZL; <(XJ$X%S MY]N7F5BO-C.K/E-KI+K(@&'7 Z7&EGE')[ G,1W&3U Z44,A_5!6K+'9)S6V MHJ1DFFXO1QL%19-^_*)BF33YGBI=+Q]V-T;/5V'KFX/"N;CZVS-U0FC1A8'M M%/,C+M[PF*ZW&=$5Y3WM_5[-U*+2*^G#]9(G:QUZNAA!I4PJH"M,:<34:>HE MIOY,]EW0-B-(#PZ2;OTLS<]@M]VF2/J GK@O[7EG6)Q+M[BFS EMCOCKQJN\ MO%BUZ9E$MT .!6S8QES(8B8\(9JD:<=,I[EE595<:%',L(2:1O9)(A MN?26EC=7,ZUODX^_$!M_-RY^;X&KBW.Q\)!=CD9K)T?V!KD29PEU=MOP(! M-KV&^U3@BFV[0#ZE[U1,<12?M$<RD6_EPWTKU^:: M#]29;G#W-R4S+J5EO5MF5!VI9*:=O*71F6:O/\EPA>&B V4&U*Y2F2_BN_%? MP?FW,"\>0OIVPB\40DU 9I=-%UUWN 59=\[HT;7W>0-NYX/J M,ZJN&U77O6IU78'*3.B<) )AG 6TD$S):2$WR>:$I)3.B(ED*DF2F:>U7M=9 ME1XLM!S- =KLK1KJ:K7EO%/U>(>I/CF8SQ\ZFKJ.#ZOM6GUDM[U3]7@38]EC M[TF@DC33&_/Q18L:TMZI>KS3"M/I>*OX [=,NF)^-1C6M\.3]7B5>7>>XS?M M@39,V^MJUMK*(UHY58^W[!5*:BO7$LAT?.I*5&.;!B9SJA[OF,ZS!ENA-^20 M85L26ZAP6HTY567751HCS2RVRCSH3U;.C":GQK1SJLJNTR_30L'<*MQP(#G3 ML;>XU^>*D F/K LI5G7K'JG%!67BK"0CM>=ET6&+?*FW*K9!NS7-;W$3WM#0X72:JZ_C[CVI&E)'%TTR MR8_\9DA/A]+6C%IO%TV/HY5\6>H*F8>4YJ&A(9 N9OT"SUNU'E=31^GD3.<= M>@!GI<(+D)3AS$[RVE8K%4:I>5G=Y.TL'AI:0%7IE#:%9F;)#1LY,[5J>47- M8-#0/Z]('-08OF3)#$ZT4,*SW096#\FBYQJ"C*PM+?=:0Y=DZ915-,7&.)WO M?))2/TW@$!5J;J374IDI14V!IDW"[KZJPN M=)*9,$_?8CV9G5;QSH(RB;MT=-__!B^61X5^;A,OU%TB'>'E]O"2NXO0(E$F.WB9?<72JJ\W,[]61^IQU__3(7%T\F>ON]_.?+%IRW,$SR[DM5 M+.@_T_+XK'5A(H;Y$(;Y%"4_R+M<^BLQT%GKPD1$LB>2+R5EWU\7QA>A-Y;J MW]P[?,]&_3>VPVLD_"$;[+?Y_%\P"1 [:VYQXS=UD^'2MY\@3_LAP;IIV\Q* M5'4<)#%9'%GJH9#1% HU8-DXF'*JS,RJ_6"FI[T"R0K)INT-ESCB#JS6YD9O4$W59A9: PJ1U M:ITK&BG%+S:2)&-I*AM+I2YT#3>2 M] "CQC3G\W,?!F@_ECQ4!;D=<]Q5UW M-=8N626WD%V12\:O'Y+(Q'+)="R5"1=I^\PF,[?/>]^GPMM Z9TY V*:/U2M'YS9OD? ^&36^Y^65'L"H_[;>!%#RHIYR@C&JGF M;XF"W59%P"N=?S<(I5LS 2[L":@8D@7FP'!$/8B2X:4RCF.I8]?QXV>[ZXM M;HL;-)A!57P4_)Q]PBY8Y;)LM<[V.CQKV)-9(M?JINF.D$'N@42:CB7(EXH+ M1@(H$D ?II3<()AN30)=V EQ$0GDEN-JW])HC@3>MIN/-SJ3A[8')1"*XY.9 M6)K,?2FWQ.M",;)_\SRRW-XC5Z^=T?.!<9AK;_76).%UHC)!O8B05_:$V+.: MO>[]9BE87,_04V2&,]B5ATH#^7&97):,9=,O55",!$(D$%[2EJZ]UUN3"-<) MT+Q!(DP<4&BF02_'SQMSP4VJV=6 11(!A6APE#9&95-GUX5NS AKGB@.=+Y@ MS8UM]H8LSB\B^FXO)^69W9XY#_+&,!H1]C=(LW@E97\F$]V/N>3/F@?Y'?GP M\]\2NG+(_ZT:<@%5MP3XND^@(UN3;K[5ON^Y6BTYMRM;JGN.ZM= X)N_H1&061\QZ2SD+U^'6-UNT ME^%64]%ZTVH5+$AUR?-Y@6LO11:7CDXC;J7.?Q'O9K0\7UTHG-E7?S/;BW3Y M#RI=\/UDUP=K&@&+GI!>4J9SGZNN^P[)/G3EWJ:>T1?##JH[?W%=X\8(/.+S M,VLD$:-_O)+R/*/W-I5"T18;<;*EFDRBXRT61@(S^BO5E.>ZE7U =[*GW.G_ MLL][07VV7LFPM]&QH>CW*/ ]1<[O2@L2Z(C G0,0"<4(L'3A-H-L6,*)74G,UN_=.O/C5R:3CM%4.*B$H/U18'VSA+@AL%JTVD]Q M_(!7]2*7R!=;U0'3^?$K06=CR4SX5F6,@$!: FM1-_$" ]8(-0> W6"CN^O M+*%O(*M8 &X8$(:)HV-XX03NCQ7JPG&RNT;0%,3>]RJYVW+#4Z=]@'(:*IFVLHGZ9[3!:@L M(''8.?%XZY>5R\^OZ]D%$4U(9?>0C!C97.P,V]LX."H&48#@Q-UY(.$E8I@# MBDPO3ZBX=3K!]'C\2YS,[6K2JH^6_@BS:$;,*GUQ#3?R5]]<0,+/),F_?Q*5 M^<(R5P%('),XC"0*JBWIINU";H8\!-D::H+2%#(W/)E0+I](+-PQG)] [7;@ M406?EOU' .):%4X(V0G !R"/2?#4]KG7[Q2#]$+T)VK3 PFBH.(9B@Y@ &5BB'H,;1-,A68'$! 3O3@0X>%^X71[<#-3GX$$+Y8$,'%'5 M[6 :!,/]4B Y0*UV;J.%VFB*HT6HD^"W.8#D(1)+%PDK!Q<#)] Y;J.B37>X M.9#BJK((28KP5%W?@880X6<,%#3=8[ JH\5O0G H84[14^3GHQ8BI MZ2&HHT.6D$U\H"$PC$#%P?[H6%T8' 8[IH-P:<&'V_JV&/#VU7=S / MFG"MF#+@7Q"3HCTE4*W\9\[3<$?@<]NO?VJW?\K&Q'34F-C'2M28.&I,'#4F M/N.JGNJ946/B-S8F1HU^EIJJ&)_&R4RYL/BI ,C[QGG%QN:Y9[?&OYH#<* M2U":QCTX,K1./3XFVPNKM=*&WF*DW.3JY6CI9U3@\*553M@P M(RI9KT->.H$HD!G=NZO6EB?3J7')F54XCFW H2&"J3)HZ(ZF+NPKR@>V!C0&QJIOWQVL M[K"':)%/=5.Y57VJM98U9])?))29%#@>H?8-9,9Y81SN%DU=TI]T?((\?^S0 M=\]USV#8#E_I5?H5>*Q?RV'T&T<*V^H2C 1-,/^\0(Z1&_(-.#U3=ST4"-DVQW;JJRB!Z!JZASLTAAN*ZT# MY(1 7XN'/:.1O^_\C"'5!]+4@&:*LD&.I3OB+V2ET>0_Z$?\D?KG[T /1DN# M%&FC%RJZ.8:VJ>U"2U[U6U1/(67%EZZ(C#YDJ^HJTJ=C!+3#S14^L6-8+9%, MVXD?['JP7D!F0I^@C6-@NQ_:TO"TA]-;)M1([#OBZO@[V!E]T\%]JPV(E, $ MWWN(L!F.T6 !&1K\HDW\^W+UT7/[H,7^6*5,=;*ELRDP-]_9[:ZL&]:[MO,CY,=LL"=A,XK0D+ MP17\(C\MK([#&MNU+H#N ^5JRYXA)]F",!ZWE1^_$KD8G:7#P2+D!7HEO!=0 M>@NYID?2"X9M<"V1=^\+O!FGS"< 9VRA-3D3A+>*U4KKD^*"$[OEYDCO*C0G M=/X\Z'QB$6U@(:-"5$!K,C"1FZJ"3 Q@.W8(U''Z"-99!7!:3QLNM&6RU+S? M5(72I.;]^ 75ZQ"@_[.31$$$5-V] OEJD>#P_6=.F%4P3YRMO?J[D"4KK M#(0-.4R[S>6(VUA*_X7>["=>8N]" MQ_N1 ^;89COEG#L\2;X^8G^N]O$?W!L^F[I+1,U(3Z56'3WW>BHX9U/EJ$GL M+>*%BO!RFW@A[U*)"#$70\P;KP $Y\J-)8TBE1I'K<^2''REY-'77NT\\P5F MZA;W>XXLX$!R?/(TX.]J*IH4D#\]8T%WK'O M#V4^'ZWFA*RS&@4JETQG4[Q;HP:US'A8$F<=@4:RCHJ1Z?"=B;_?*^MN3 ]H MZRX4?RR.(BDHC?>16^VK:GO7$HXW6.+UQL#TK$IY;3A%*N<;@P='@6WV6*;T M+=&P)\"" KJ%TH6I$W)YTQE7M+(^6_)+QJXH\R5':KF.WSJ;CM'T&1OYW( * M^ESH+])#WR-JKUT?\J.L[VOO,Q*,YQ>,IV3BJ",KQ2Q;S7(;3P#K7'\ZRUD= M(8GM!' M4"(-@BZ^?F/#U^+D$GS3:RJN #$&P" W/<<7T@2\44JU2(F(OP'75F>&8\%SW"(A>#8,! M92U!PC(A(Z(;-@?Z_1RI"]T]G5400Z@3%<@,QO#.!&<,N7Y +^-C%]^'"&+FQ_5XCR>'J_HGK94%N1:^9C7#.ITF348CB[SK%4HUA->4QK\_^S M]Z7-B2/+VM_OKU#TO2=B)B[X:D?T.>]$@! [8A48?R&$5 @A(8$6ME__5DE@ M8X.7[F816"?FS-BXD*HR*Y_*S,I%UK8A$U]RS7P)2=_;@1%P81^>,+NW\' - M0T>'3RT"3["[YK/BS8%8YL/2/# ML4!:1N\5LQ.='.%U*4_FLD/02@^T71 #Q1PFFMYR$$/)6D"Z!&7T8OTLUL]N M@6+7C]V-S'\+!?<6H"DF8JR*QY#_"ZKX%N*$$.'@ M^""V./S;D2.A1RU2W)*N4D*E+A1PG01KH=0<,.A(8(G[TLP;#BKJBQI*0-1' ME55F* @J5M)C)?T6*!8KZ?>#V#LD:I@RQ&U+%79@="P->2HJC\-Q;2"PV67? M%^SE"KC- 1MX3ZCTO:OL]; .NZ5A)D#QM+%^'BE4BHD8Z^?WA/;H+2>%^F?\ MJB+X>EX$ROAL1)^=[!\'D_Y#H3"P8&CI#.6K5UJU1&8IJ>MCO]HS1_Q>F?D$V01 MD%X?E:M',)U*D$=JN=Z9/KXC3JR!1P22;KZ>QBT0.:[&<7-'Q0< F:O7N]_#E*>R:OOTV( M]BT 5$S$V$,> _N7(ECV_["%LT:(9DW\X@LK24*4&'3T_ M%Y+ [GK^K#B;I8(NJ<%%)LV<'IL"98O:;T)5S@'?$%G]SZ!03 M,=;.8]3_ /5%VSK4SE\'M7Q\(C23NB'F&L8$+_ B733;O65[N43-L.&)D&93 M=Z6GYT!8' 7SY%6LK%\;EV)O>^QM_QZP?PZGS [+.O+J8X1?UNJ3QQ:Y>)+( MTG3>MK/3@<=I R+(*Z427/J.=?[]&]8C]9MC/3\BP!5'R<11,O&!<=X#X^-3 M0F,68K59G\PD,)H/>WR5'(_&F0$1IIHFTG=6!D8$7AQR$P50BIO@?)M*J_>( MM+LPQN/.&7 L8S3ML-PX)>LU TOI_4+C>^74%1/(#D*#\;]?$X9"LSE'/?4]9BEPDP)GMWR2WH'9LT 3U-LB MZ?_UJA;\,RU0"Q#;^;E#I;U5;6O0DP% :2 9EIJ71_#%/V5S*:_=W1G//9#T M#O%^/B,;H@/&/'#Q5@Y'P6Z];C&P_^Z3>_98KGCW[ M21(/R#S_[M3YX_6P$<_P\T'HQ3T1T5MM)]WKGQ*N7IWJVT7,GSUENTDA[:IPC_RF5Q+P(KU M:JXD%MH)K"3R#__YOV%4IB?6.T(;Z]0QOB[F!+$MY-!/[7JUE,MTX"_YDI@1 M^5*FBK4[\(.:(';:6!*-Z91$2&'[WS^!W R#O%H)#59WI?&,WQ M2J=:<1BG1E0:J*,]^2,4Y>>1>5^R*B6#L P]38_(,L'23 <::P/F[4A\B4]J MBY%2QMML,?\TR_0-?:T-R '^=N2CPK$^*Y85/%FL%C9KARBLA24<>?#V15,L M+I\:#BTEDTV>2.%>I<.CKJ<'SRPPMCD 95D1UJ-D X!I?#"C'8$EWLQPPAR/MXF1678)N14@.E$3#/8EKP&OGE MPV>;D$H'S]S@I:4R=I=Y"2P6-I'BN4HS=93RF9+YF';Q,6V0 M^%*@1],J5\@=I:>?*4Q-M9E;&W4_7W;-\D@TZ*-4(IX$59JV-T6\7B!=W"[@ MM%-='J/2DD^!MJ/[KL06E'2YT9_),X#H>3#/46W\M"J/)E6#MPN,.71[S,K2 MCJT]J]G]1J&2WA@5/Y?7W%7&E5?-8VO/UNGNXVB9KQJ5XL"O\'+#Z0Z;Q]:N MX59W,4U/U@9/I!N*EYSB;#IS;.UM/5DAY*#8F"_1XTOZ M@8S9$CVVQ# 63;[$,!9-OL0P=DZV_.+M_J?*\=6(P%WJ5OLS_/YC"ASQ)+PF MP$?NU_?;JPY?+QX:8(@B_^\'^>,/[KW9JT:DR[)9^=L:GT[LL?^)6SZYH\L1T>>=Z#!^Z^LQ/BUKX,;Y_K=K./FB^U. -4 MFSPN=N=T;?$G$57A!,V/'-_'FE1KC\V9H'?Y)+X>=U:33M5;,#-TRQ1F**<_ MZH(5@] =@M#ER1 !R/J*4O*E^Z];AY\]P$FZ0/FI^LX:R,Y;L-DAR@?3Z@5: M&U"W^EJHKB%M[1EZB(G8&6@T(4O)Q]FX4JG)%)O/0.AA(?3@AS& ?Z;@75.F M7CA["W9,!"'B,T_@/:[Y$R];K+:="S=?GI>5W>AE)AWDD) M9&]?3X+Z70%X?A'8N MH9O#EKO4K_X,)RZI:?GY2I8>CM6&4!GJ!=HO^DE21P&"9]&T(F;0=)Z#[;Z% MY7H368COV+W7SHR.UGGSGEU\;2K%.N.1L^ 99+8/R]>S^CPWR96,BCWI3#2] MTJPI5U /)UR-39O%'"4!L=FSA.&3..LVPR[W1((FB>_IW[MEE(R)&/L6;P;O M+JGFDFVN)55EF\3G2MW=D 764D24KW-'#L6]$DOW9\;? *!L4?G:E24NJZ:93ULCM<_-%[@^W!!>4P5;0KNDRL;6,NC$'7V33=9*4Y M8+[4P#$&G0N#3DRQB#DX(TBPN%[->1*'V5_(&T;YN5 U-;=)NB@95]O6+4(_ M[U;TZ7/^YSL6A-J;1<-WE+'L@@;[&E#":@84+ZC(F@,H33HX M\P*2OSWJ1-EQ!A.OA*=Z_&-/ -Y,Q*4)9EU]D$Z:[&-C.!:5A#P$& MGP/7N9L3(D-0 GOF.S/;12G<-[BK,ZB9FA/L9I1%CO+9#U/A9UN68;+F #"% M;P[SYAW@(@(A\KQ)H4VN:YUA=EKEALL/YZ5-_N@NY<8)W> %9V@JP9$>W7R0MN$.J6WG?\QW ^U,_3'X1@=>&6]F% MVBBD1&<,R=J']G,#;@);%2!SU;)L^;*S3L-)I-Y8]K\EVO6%J"OMSG@MR7S+ M*=1'Q)!<9$Y;ZXU_9BR_S]==3;?U40$V\N9 [0O.D\3/JLEZ(;UQ,_+RQS]< M C^JJ'Y5?O^29W 30E9!WICKR.!SO)_.O)^F-B>F,IXR,M@,-W+FVR=E5_=^1'GWFAO9_F\\?"]C5=KYTI9UTWI>&5:78[Z MHD#[%MQX[,.A&ORO7]AWVP)#\# =;J>#R2K21N'&.@I[S_"CK+>X%U8W>A>6 M=DT%UDCI1LL,5JMBLA<\[P7N]J!N]S7\\&DW-UI'0CH M]AEP0$ Y^)B9 \;P:^B4"!_[!:(CK=GUX9IV].L!;$N68$;(,:COM6-8!R][ M)ETPYN5OD,0R6J[O!#R"!YF.@ ']7 4+8&+4#BT@R*A@I*/24W!&P,%DWQO; MCNZ%IYSFPS5;2FC[[)%R^K(_HV@&02/GPV/QO?T'C\N]11[=8PG,W0-@R%\' M=8N".\%!^+#]10_LH4EH2P;BDGB-N\'X0&. 9("4]W3SV6""4YK**IJ];R(6 MN[Z)7@0YNO=FJ.":]A+R"SYGK&MC\!Y['K"ZCZ:&FO=MP0?MVE_0(?8[@(1S MVI.N4"\*2>-N-2;T!OA.V])L1#?P<@J%KX)VI?OQ(?80G:WT13]14&@MP,.P M-I<_A4^$LR=!&QR@BT N8SZ<9 M^2)P09>WEPIP1][@9M=[OWUVA@;U?8]4@C.'8X%[(EFA[K0*H_H&S$N/R[@2 MW"4KP7W:RB*N/7*M$DH?M^*(^7*M$DHQ7R+)E\\:@<>,N601I:@UT@M?D95- M9$,EL!Q0 D4HS/^!JEOX _)^?(N>>M^W^_4INR%]LZ(@6R\AN35!_M!/.)JQ MG<%,:G>E9.>IP]Y]0+'(G)4W%\CN0O"W3=;\V=:UQW WC7\,+\,@H'+YC<0 ML+1UF^:V'M.\8T\1*'01)F2>(>$(4 Y8=UJG73TCK>M*IB,C!ZQ14[;@5:$A2'/?G#=XCFRY89U8?:P]#0ILA'4HR*D3EX[??,B!0;B M[L6%^EAF M1*GNL&7\3[*S3F/J3^CGG[H'OZT$9I2:P:I5/8#*V'-NFN4[:2Q3^X_I#N(%U]*5M1,@V^C01Q#298!=^ MNA_UC\('/T\YV*=:"6713P%\D0>"B6!_H;U XO_>'Q9\1/S[[^W^0)/=)A@X MZ)THXL5<8\""! @B-Q! (#@=M=L+XS&0G$EN@*)CQYC[>+5+#_H?[IU02EC M6;=0$--U^4?@+Z6.4%KXZ]"01!!YAW(I9'?\W*(P@2UE%SMUU.ZS=DL.R)>4 MV9=?OH3* 3=#9NZSO&KNX#ECNWDFGR1=7"[:(S+/Y8M ^9-XWD88/^5V[&VN M[&Y^P!6!5Q_QD'*[+-JC@;QRNF:M/-QN"R!-SX%19.=/4//^A\#)!'/$MQ!$ MYYPG*/;4Q+; ,M65!_S":#?84%>3KHCPS0+8-I?MQ*3E,91/;#;)!_[; )P">B\+W= M*U!HU3Z A &HWJ$@!1+SJC7FV<.A/N6.OUYG!7?2S1FR#P8$(W:)Q\D'S3$_ M#8TZC'IREP/-Y@?SB<06A[4>;<@\#XD<1SW%44]W$RP01SW=&5_BJ*>(\B6. M>HJCGCZC"U*WL9FLJ_=Z%_5^JZ\XABF.8;ISBSKHZ'?$NZEK)=UC[&)92!:- M-2,OY>%HL@P#F0@\E2 H[JYN?:J0&C]?.V7B>YZ3W?/<^:UZA*_0#Q:/_15C M(L+$?2\BNAG?F]81.-PT_5EG1K$43O:'BVQU-<\;_6VX$IU@\<,K\+_O)F+I M8U_VO6J%D8U0NN,[\P@N/58W+WN! [&V*2;[$]"9,T)AG5E:!L/9\ZJVC35Z MYPKGFURMH_6$2>=A(OYKG\.>9R6X%T5R-_[WZPE0A\[P,U=8)^D=;#S+"4&_ M]9?\URNWT#,UT&V [?S<"?O>JK;N*#*0>PTD0Z^3/((O_BF;2WGM[DY3+FQ^ M$ #)SV? 0'3 F >.^Q?V\B.BQ@$IT47#'L%>W36$WWI]V[#][!/7UY8KGCW[ M21(/[.O+%H)^H,_$IC=03KTPY3\R-G80ZOQWI\X?=8<%8146P@$S?.RV$_CV M(Z@C!/303^UZM93+=. O^9*8$?E2IHJU._"#FB!V MVE@2C>F41$G(16@I?TF6[*OPQ%?_ON"LPA ,\F57?SC%H(Z'[;OP7'83&%@I M '[1'+EP]?0=P82C#&=C_BG$CVLC4>90?H(E9P5C=MJ>61,B5)RD)\6 MC<4$8C;#*Z-1J]504I;1@T./<'1>6W+V<)P9X--YMMUI3XS6 M>I$9$$<8U86*BFSH"]D ^;S8)SVIM=G N1[A5)754GA9,B8&T$TM!9:R3?3@ MT".L8LWQD[\B\8[!DA4^Y6W4>5==HJ$'>ZK/;"94JJ\Z>$^LM]NU&5CH%>W8 MCAXR_'0JI_VL4:E,BVQJ_%B=II"'E#G@ZJ@LXY52MBZL'8KV)5*W1@#U=#^8 M:-(015G/YDM"TB3'DVXIV^ST=0Y]-9?B/$CC_L)?K>NU$BW4,3CKEHSJB *WH0[[:KY;4^B_2)X MN^)2JZB>*Y=:?8';%=8_'E]K^)/ M]Z-7=7=7%_.Y8F8CC![%7* %Q=C"*GLC$Z"(4G=M Z=ZNRMQS7?&18T_A>W3WU3R\,>2]-D;#9$B:H%RG9V,6 MW(RH-Q/8!K,JVT;PV_)H-Q:TUGK>>"4D(?I(AP+[JK5)QE*K+XS.A'Q^IXI7 M@^G)8_R1+1K^P,KEH(:F+#-Q/%L+;[( MO'YXV]6O[>(;R_C&\G(WEGUF,RRNQ1XNZ,7-:)8LK+/61ML%RWWIQO)+J/K> M;HQ _-RM-22,6&3>#5 L8@7*;H%BEREO%D&2W86BF%&49UJ(T8H MV.U^-<.[5ORNE>[^YZ5?#OW9\D&S[J,>[;"(EA>.;#UCQ+%LBE9N5;-+1)84 MDGKWB6I4Y\9LLBV?E4X0W*>U8FXJEZ)D+2!=; >2*M;48DWM%BCV#0K1?D.$ MW@'1L?)=G2*W9B:5V5B:DHKZ:,^7Y<)B6[Z+2S#DZ8L:1DS9:3@ 9?4&=]J6 MN[T+MSW4@2RL2NMM;_*_A=)["R 5$S%6SV/P_RWU? MV0HAU<'P= 5WXMR.' M0[E=G&J%;!G@NM6?KW-ZS\QK*%X4.703W)WIZPT']3[=MB)%!;EF]]G'X1;@ M*:98K+K'Z W4'28U3!EBN*4*.U@Z@M;5=LM8-K->U? K JE)H. GQ]J 16A- MGL6[$C$EK/[<_MI$A=YCO3U:"!43,=;;[Q/YWVM-\=NP_XQD501D[^KG+9<" MHMK11WCE,=F;Y>P966JAW*L \4F6O"O]'#)1MC0=!1&=&-EC!(I5\U@UOV. M/H]7?0='X># E=(9R]8N8>L(8&=D-H,OJH2"KX=E9V6G#6'#H118"-A,*L$= M*1%^9SKZCCBQ5AX1<+K%?G W1^2X[=P-'QH?X/E3P7TASW<:G$L9 M"BI4@.KAI1,$1=V)!AZVZPQS1MXD-L=:^/5@.\;HDV-T#,B1!^13:O'O^E:R MVL(J=YTQ([57,P2-^_0_TY]'LFK[]-W/.P'^EK/9:2CV9D9*+;FO8*_=Z;3ZH%A;&OJ39.]'L MGY'>\<&KRD2Q7A][UV^!8K%W_=J8??+KSRT:[?WA"$(K&[*>7E>G(XD$WKB> M[BY7DWX3%6E$"$TFF-3=.].KMJ4E$6LQ^TWHRSEP/&*+OSF@BHD8*^WQ ?"E M T"TK4.E_750S,>'P\8O:A)-Y^<&F2Y;^9)IS*1I4)8W4-^9U+TXYL-7Y, ( M.$'?>'D5Z_#7QJC8-Q_[YK_;$7 .O\T.U3KRZF.TIT%/:1E8_8\(AL6!-G&@37QV7.KL^.3 2*_\Y)/U M]"C4_61UW?0;8Y4*^FN@R'DN03/WU=97!%XN7[C=@I9APIRT %DBBBWGVJT8VB"9$ZM_P.\1@8:%YVW+'^@Q^ONU($W2V\8 RMFS31GULPA8]N]9 \,"#E$!. M,1L#LC+&%%,.6_?H;S+)GKL*!>]!#7@@X,D:P'P7C'QD5BV0084:X+G;'D;N MSWWVW5COFKP.$0U4X:H.LEB>E2JW(3M>?70$'@Z[U[3ZU+A)C;JB))?SLR7](/9,R6 MZ+$EAK%H\B6&L6CR)8:Q<[+E%UVPGRK'5R,"=RG7XV?X_<<4..):>$V CUK0 MO]^=:_AZ\= 0Q3Y?S_('W_@G&2O&DS O7;5* 9];]/NX)CN^X!H>)=\J5= M?D8L!( _ZAX\F11$;+77:$Z#5,N(D>$4]U.! M;O;=8H@OTY-P]Y0/7,S9=4V>V Z/O/'!DW??V]#L,)FA_YP(DCEUC.N+S@&FV2PY.RN\@M9;X!J,P@3#I))=(? M5G"* >D. >GR9(@ ?'U%0?G"I=A=0=$>^"1=H/Q4?6<-9.FCQW-FW6'T^)<@R1D?_Q#X@?7XW^H]UU3 MO#J[^]WU+9@W$42+SQR$][CF3YQOL39W 0A]$=RL[!Y^;_N&:K-72TL=<8S+ ME-%2S>OC MT'09QQY)AF!K$"Z@_D4PI]:_(F;Q M=)Y#]+Z%:7L3<>7O&,;73GN)UM'SGN%\;2K%FN3'Q\(SWFP?1DAE,)W-,DEA M3JILP2NVG.Y*N[S2N)GF^(KLT9I ,J/U.%^MSS.;3-@\E4ZDOJLO\)8!,R9B M[(>\1>B[I/+;S^A-LC[/UJ3D)FT"L]3O\E,-PAY2?N_$^;B757]_=OX-8,L6 MH*^=07B9F^AKK_(;Z)\9V\TS^23IXG+1'I%Y+E\$U[@_[NNC@4\6%1\'L]0L M:_!YULHVPY;*GW8 BO'GPO@34RQBSM ($BS.2XY 7C+*^X5JJKE-_D5)OMHV M0QW]O%O2I\_YG^]=!&!O.@W?4<:R"QIP'X.,:=I*<$KO\OZ%U0PH7E";*P=0 M(G9P_ 7$?WOJB;+C#,0J7TQOEH6R5"AV,HKYR%<=-_-!EZ0O,@S370QLYX(2 MO8< @\^!Z]S-"9$A*(LX\YV9[0+WX94$P__0[UE T)7#ZS2)_WJ5#?),.93);#L_=XKEWJJV M62AD@-P:2(;))O((OOBG;"[EM;LK9\.%#JA :?WYK)PB.F#, \?]"WOY$5'C M@)0H27J/8*_RI,-OO/?M)$@_(?-M+%"?H!_I,;'J#6M0+ M4_XC8V,'@AYGPFUQ*P8KV:*XF%=@(KB?S#30 M3^UZM93+=. O^9*8$?E2IHJU._"#FB!VVE@2C>F41$G(16@I?TF6[*M0^U+_ MON"L#L[B#Z>H6Y@WMGVH6JEN A7] /"+[C@HG8&*=@!G]UM8I.-E)5] W A MDL1^U8^KL]H7A1^\\ M?@E%=6S4YQ5OU)E1VD1I#M!0ZL>Q(TD.OCE@65)64S0U M4-*IU( FA_@@+7/X0&:&1'H$9#A!^D<(#?+.W&3[0JO9MA[7TI3Q"MGZ9%;+ MM)>H%,G;D5FI(%G3\J(M^08_5;LM=Y!E443AP4BC7=&G2\JN"3U.]:$.(@JE MRA*.9-Z.5,MU2QT6& N?\H51?C"0\'X1!=7@!R-Y(UL:@KXBK/,#(@[=[Y%.9%7(=3VCC=+W,\5U3;*.1!V_G38M+K3:-G-%N5]3A?3V8+&.IFDH>?7M5*%G\S6N#H=&V[*260(O"H\6:@I\ M,%(J='O=3+$_Q^?T!"176DWQ4VCD 97R&P'8966Z$-;M296T.U;S*8=&OJ;2 M0!XQ"JD,P0 PS'! RP0U2!,,,R!2@!E10P[^<[BRJ23T!'LQ->J9I=DI9R8Y M@=:.[2D*9ZKYI5EJX04HF)OTTDE7F>6Q/=7.%LO24F5D@22?N"2QVO##5O/8 MG@(^N>'9X8P2DN49T1\,UQ0U;![;4[C9SQ ]-^?@ZYDXTS0'+,N*=FQ/D8!/ M\8.Z-Q8*N>SI5C?+TIA='MM3HU1-\%9K MRL7;8VU23Z35%ZNI/H58?@<_!Q53=E='NUJ"-B%D GK#=B:(\_&ZY]_5K'J:SLE]S(G^*CZ:+MS GWV<)NHHNK3 MP[QKXVVBWYY*EC4A4437MZX?M:_TR+YGO]9X@D_B$E-W5=0@KLUR9WR):[-$ MDR]Q;99(LB6&L6CR)8:Q:/(EAK%SLN66HM4^),+]E)CZG>C/]VERX"_X12(] M%QEB?K<4%4D]4*E[JCO4&3L 8#7XA[&+"98*5*PF.\HX]*U01.)8O:98T"(G M:%&KTO5M:KDA%UM))]M$OH.R[E)#^T'^!+DQ48.:Q1Q9&*R!BP%M;/[ M2_[[6R1/?=_TI[BRVY]&T'_<8^38E5T;717QX3712P"BY 9BB'K[("',;&5P M&WVH%CKUU:(VI:5>0ZK7BQ6ME1W_2?3A)]>* FH=@UB&HNOA/RCF\$AD_5R@ MK;4@D#*>I*5FS<)+56JTK>"1HA(T_E$/T!A08D") >4]0*'W 84^.:"T75+7 MS'$MA2W@=3^O)8?JJD*+R[#&1XI.I-/D MZ7I$1L"HY>TII(VBWV/"XS=)&;K9PD;7A[@_UIE>Q&>+:JMAUO86=IG ]7Q] MG&]F59NG_Z2RV6E0C7'(J=]HV0-!)YOUK#H=M1EO&=:L((@$_F&K]!@/8CSX M'GCPQRK/ 1ZH378\7VMFW> [@\W8&(WD MPG);S(%(D"QS_ZFV#2\:]/PM,CXW>W#$SB<\J'\O;$, M_:K7YW%9'DMRUJM04\_&N\3U,;/I+^$,J M@K-)VIQX^HS)]?^DPM5IL"VOY9Z80I]:X7Z7+9CIYL#-M"5R 3'$;&_ M*8:$;P\)?ZSR'(,$P%.;XG+0YO#>C%P"Y:DV?5Q?_V)-K3KNM%QH.7A=[ -' M=<;C+(&2Z)&ZDT[05.K>74YU;PR8>>WJYY<)(;WV*B,% MA5^L*71MMWRS5:+J;X_7%1,'A510_H4A2<(_"._? P%,13$4/"K M6A%G5)V47*&?##VCRH2$ZY*WOOZ-_SCG-RN.6$X)O:3 "3.OVVM,$12@*"DJ ME>#83W6;78GXJ):$/V/]]U[ZT6?.L.K M?P?7HEC.C3M)-3=XSGS3^B'OI_!?J;X.Q\2,B 0C&")F1!08@3^0,2>BP GR M@4[%C(@ (R VQ7R( A_P[UIU[3R,^%6_[V=:Z^56?;%R3Y_IAY=I31+I0FK, M0_K LQ*I$C__CD+EM%AVSET%ZS,V7[+L%?&0HFY:)DY:#.UC-?:^MP%QZ]O@ M#\N=A;AWU1@5^$SD+X>PWD:54$YQ91Q"V[57=8V[(N2EN?:Z3W$=M'5S1#'= MZUI7P:X3/-,#4P@3A6W/&D32, P&-8USUO!E@\$45^HIKFT9[;%?'H^75'F= MNGX,'GALS3UOY/'".O5DB,DNF^^IS; *&8&G$B3Y43[]'YYOUY:)JV#!]9=] M*BCXYDCPYB;XRTA0<[,C>4EPCP9OU)URCC(+/>GZ29UDR69\9O1H2/,^7ZS, M<\J"767"\F$$SB5H\J-XW!LP[4Z=QGD9-\?U >NZVO@A$4X6!;Q39Z(>]!M- MW687#RS:EK3+5Q\MVAUJOG!TR7=6)MV@^:JK4)L=>8;7( M9!N;;0VQ<^9TGMF&CP@^7%^"S@7IG!%P[NRUSCK2 V,?S M84;154.$S^X$NOI:HX.5MY$PH-3IG P6@RI>'XN51M;U#64(&B4/)UQ-^"MZT$_=@ZM2/ICY;G-A:"-Y;M + MJ:K+ >7UD^9&_"F-GVPJ4%$+$=)#L *N:>[HYT.#44@H=YD$ /6,F" ^#,7YZ: M0!_ 68>;R &*K5F0;BH&5A!X53?X<[@X;+M4N&_0A\H6#QZPM^1!K]?#Q!<5 M_H#)BK(CC@+T!1+J!&9!XT$/I@._/X546B,1(U+_=M'D(%_@QD4_!4:SC.Z3 MA[(9+-<=@]UV\6RXR>"?=F+YB]3^GQ,C=<8=U$=[VEN?3&_*(TTQ\:1J.:/5 MV.JP[3^!YF-X'$@/-,5XWW'@EGP+Q:+L.(--NYFA\EHJ)_F;4@EL1H5*@U]" M(&82%'X,AW^+G %+(L4*@GP^)E>+]<2I3O0*KL]2H-=:@D)M\R<>QM_E!5," MSB+=7#<,/X4W#)9-&KD,Y$4ZP3 G9(6+V:,PL@ZCB 2&]F/ GQR40>14V7U* M)Q!FS8""8G#-]4/T3KAG>#%?#H< 8Q!:.0ACX&)ER/WIS+80*,.%VZB"Q*LO M+,? >L:L\/M;/+,=^*0I/!\5V1UC,WF-_%)N %SJ(@38T3Y.;:%UC4#^'1C> MP\1CD]Y"K&Y!*-U!;S _]);CCT2']S.D?_#X-[CK^/#'_3$G@]R[P,Z=NK'^ M2& -;[, _;+=E:;YHFA[O53.*V1^_,,DTN1A_>N 2/>!9E^B#IU5J9%=K5%" MFTHI)3&](,D5A+-4@DX=PMGGN/0!K&%H.7 MV.*7-P5*V4Y7VY<5Y:A !9,]/C-L"?]Z:CY?VAOT(=>WM&X]D_HH_S/M3M;I MS@J.1#[UDW33SQG>(Y0.,D'@A_[O:]D:+3"%6C/:)XT]>*V_(/85SSLXO-LZ7Y'LE?*'YT,SWJK66>7F>2TCJ?'$W=DNJ/\]J/?V@R M01^Y:T5$_Y3G!$Z[8*3_E.8#OM)O">38;.95.?!D&QMF6ND04%5RM;&@A5 MC>#U4WC$!BBF@A%\7L!IN#[Y!9J@B@>5FDR;QSKV3%]7C-(P$%:7.+D+,/7A+HL^?V<9"<)^Y-MNKL8_-+N$H+I A5**AQ2'[4# MU2F<&9R*X^50ET9TWXB>G<3I)$X,VF+->-(S_!"7"^H&&+DF[2]?"0)Y>CF M'Z) <5D#SQ*1)/=$HK=:EQE>!H31LS6[5BKE2H-2\\<_[*'J\:]0486:XDYO M"TU_N*X^^21L;4H[F2*W4ZG 2)[2V!N0"AK(7JQ5NG9 6.R&!!']EL*&%)/55,O0F M_BP&_QF0C7ZNM>S/)"F9,IZR_74ZI]:61U.)3G!$6H@TYJL4MNU'/_X)(4Q% ME7JWQE_P'R3MPS<62["XD6V:]A)!7B2V%+O=4B+>%\5>::1*_-3MYI>:D&/2 MS2MO*7RP 4.]7>M)+,^I#E4:&$] 0UO*#O?3&LC.P78*]:2(.K[W4UOW,G85 M$ZX$W?",=R5?=KB%<*%$NS;N?_7JW3C9R]*V=XK M[:UJF^9,!E=,&DB&VP5_5RPF^]KIBS_>R3E.HM5SQ[]I,D'E#Y'KB!D[OD;?J! M/A.;WJCEU M3_B-CT&2#8/'?G3I_-(?R4^SJ!&6+X,&'%!ND33WO5/E,3JQ? MSNOB,[F6@!7KU5Q)++036$GD'Y[SO*X_/;'>$=I8IX[Q=3$GB&TAAWYJUZNE M7*8#?\F7Q(S(ES)5K-V!']0$L=/&DFA,IR1*0BY"2_E+LF1?18KVWQ>H[;M088#V"+IF@5]TQ\A(0#H$-")VOX7&RHB2I_H1'8_T(C 'WS[S=H\@J4B+U[]^T+PX_>>?P.8.3= M=7&]U;79[I-7P,DGGYH8&2O3P)O("_(C%.7GD4NGH4_3TF/-\(5NE4^:G56E MH\&1S-N1[3$MDOG:?&S,&TE3*!#SYA.K#<@!_G:D8Z0SS78.KQER.L7;7:8I M-.89./+@[:O\.IM3TA*+3Z>SI+"1Q]U)$XT\>'N])JUFY;[+"+K56#MUN3EK MKC6H$!V\G=KDR=9CSDT:F1YKYLR11]!@!-!DFL&'>8X/3G9>'4CM^Z)./[R7X5P2NQ HZZV2T([0 M74KGE?:^+?F'7/M0S?7&F(RY_A1^>XT.5'W+&!U G'*]X$) ]C#X70A1\.^* M[7KH\@3=Y$)-R-0WP>,6LNF#XYZ$#QR]/P,BG7FKM94Q4'T3U$?/FV[KV@ZT MB,-MMTBZ?KDY);,X*&_\I>HLI^SJ7-MN3QG;Q^^/ZTN@/W[[ H_X0^K#0L)Q MJ:(+U8S"']+IF!$18 3Q0,75["+!"#PHV!1SXNJ=W2W3%0,#51RT J;, [I'$QT:A7NY*GL#A\KKT*#1:U8[8 M6PY(E!M-L0DJ?9:Z>-]7I-GC[6AO3Z1#:^P;BO0Y\QI.(],SK>D113"92+HN M5IA',#'G@R:4:1;*-)$@\?0)*[UJX[(F;U]-.V;FXZD<8/P[IC:3R-7SG2 MTOB9*_8^I/$B)_TOB:.2)\1AG>EZN%X39+'YU.0)OQD6K^42%/E1@!:N707RK,I#!-=[;82[A+X!);BV M$V!HR;2WXOL9U)4R3D44M:PM)?%ZIB)S \99:V$Q6YI)T-Q'Y2IC1#B58^+: M$G)6!2:"Z[TV(EQ$Y_E-2!CWFNM!8[94A8K+/$ZHEJN5LLNP@BU-)K@SJ#_7 M*U?;095+8F/JEQ2::U==/-O%R;47=FU4NH2> M'G".8TGR2[J1%,1UJ+DLNY M2]V2!]O:L6DBD>+.4CKVFP@M>W"1?Q="NU4NKKVP:POM152)XU*KKWNCVJH] M&>-L+_TXQ/-@FJDNPW*N')F@F$\UA5TUUVB&\KW)M(]HYOU+:N-CG>1+979I M3!NM[,CKE@L+53N6+NF4M.88S,=MO)>< 6=""%IZO3R6+CEJ3_I*IMK,XNRD M]\0M;$HW5ADXDGL[,ENI6IU9AWG$R2P]FK?<5D<9'DVLS$]S95ETAYI1,9ZT1$ @=>K1KNP&$_UOL/3 MUC)T [Y) &U03:5);B2)Y2MV"_1J)7:9.9:LN5:[W:;%3.KXG'/9)TJ>I3@+ M*=<':[>I[,*R.WC?8+/=1KYA5P _:<*1!VOOJ=-!450=4_#]AM>RZ^8D/40C M7Z]]@*<)$N=&D'">#N4J4A^E7KB-L):H(9T MJ?C8?>P?)6P:M^M9L! 9P<^[FOHHK?!B'S'K\*&\ ERY"#I J+>82:=5*77H M0O,89?GE8-2K&-D47M&;2VDFL*MLHQD:.&^?F3;U*2*$*J*1 MZ8,E=6QWD)2',T,7^,VRV,FJ_13: 8<3]0O4!L_UJT]XTM!;V6:CE5L0RV/Y MNO9JHJR1,C]O&L\D2JHF5A9X@63:I%>H"#K9A",/1&I3 MV_#M12=;,'P2"HUFMML*W("IPWD^C>PNG^_1I,"WU60[6QA:U5)SP!U94=M6 M\PKH](QDGS)R>;FW7CF90?IP9&I182W9, M&9?!8<9/ *;>@H*0/F93W%CA9 M8XMCG"P29@VTTBN0T^#(0R8-ZF6&'=6&"V-=,)=P0<2X.H0(B1]2E&I[-M]T MR[A!YO*MS&C=3K+K)AIZ0%*]OARGO$QR@O.<71$,3W*R4@8-/:"IFMMLQG1[ M.(709XZS1+^TXN$N(8@CF-+,;+@)VU\9[:%(->3*AB>[&:08' P%"Z;HS^R> M(!3$%)?O+/A4GVFBH0=[WRU96G%>=1VIUS3UP9#0\2.H1:M4J30Y4)WK"L9I?8+K25,K-TI(Y6V?76JCFZ98/U(SWP;@!&D9< M/^&=>3?AO5"OYWJE:A7+B#FLWBD*+:PD=C)BH92M"EBFW18ZI\R$WRL/\VGU MQQW'HIZ('^3>PU>$5=>5,:H0&)3LU;8+0 K]URJ=7CB??D?APVT/U$E*L.&F MQ4$Z5R(\M;?PG&6<0A^M%'J6?N"^:5)>:+4_X,Q+_9XHY>A]TBLVYLNU^$+$ M?(D@7[B'U#=-:8TV7V(:B/D2/;[$.!95OL3Z6!3Y$NMC M9^7++\9@?6KF7XT(%RM \AF G[V8P1&2?%3;X#UWZT$UC3\O!)%^2#.1K@/Q MBZ1KA/U03U1W)-XX'VP<]B!8\)8W3DYW/4J?=('<7=X>"?ND%HX[[E9&LM'CJJ;!IXEUFVN&Q6P(FDDP]$=Q MGS$&G,(Y&S$RG 8#D'4K'!W(L$_[:%KO-/#XO3H:\@%>99!G%Y:?1N0($W(H_OY7^SHOP%V3=JMKN ML>3X.NNLK=6,&4C)49(2(=]R<\<'8X0W]V4/QO>2*JYSO#534V_1D0Q!Z)DMW9BN4T_:&.5; MIC\[WN[K-J/V;KN*V'%Q9L?%U0LZ7,VS:IH5OD*2R&8\6R.NS4-*1.V^!7]78>EZLCW%Z&]?/074CZ/)7]8Q#Y^"[D MZJ)TM'PS4 M;>T9=!O#$E^NKG6>PE5'JAV\GUF_S67?N0!0\['8+EO-Z4H.\X@VYJ)1:7: M2@ODI#=JS!^E#@66<$LR;()('YY. :ENE@ZE@*] S;SPNO3,ZF,^E(!&+:66 M6U?H3D9J>R3O6FXRI>6U'_^D$@QW: XD, >X,Z"@3!5SGEA41+S1%*8XT5&S)@-=EC5T'9B$BF:O.1VN@0A?F\_ 0:O5W07 MS Q^V%5!.VF.I?$O[J>#^%RTK^B'*Q7?>:F1A(5%DB($]7MSDX.Y8:X/11&2 M48%*E:RC@ $7GF+ P<($,]MRQ_HL;)LQDU$M%TAQ.,J&)X 'E+%EF[:F@^V MT%?QY@]PI#RUH<,7+G0X!*P4$QH_"Q!. S@SX/FRB05:E8MY-@:) MZX_@)O*=<(P+X$D7SN)E1^T6$$Y:!="J@LJ0M.[2+T3MMVG]%DK M+R'S=:_L4CY@1!7Q(:A&MF--\,G;XF39=4V>V YOPM5VT-X[+-;D=IZ*K;51 M@T_FI" 9/)4YK%%V?-Q9:Y1]Q]).N]34/ZOMQ+!!>E:<@QNUW&CB@8US MUB/(E\]JQ<=\N58M@8][Y,5\N1J.Q36$HLB7F"G18PKWD(J%)8)\B4$LHGR) MF1(]IG /5,R6Z+$EQK!H\B46EW.RY1?#D3]UAWV'&F@?.YY.[I__2DF=]VER M4&/G%XGT7**(P'^W1A%]K+7>+1C_J_0_J%L6B=7[1NE:=K_.X4B.&-!?9 M(I^Y,2-&DS]%W_.HLM],CCZT@B.V82XD1!^[T;XC36*9B67F#\S0[TB26&0N MND-.3(U>\!M0C]$@-ETB9[K<@UYZ8P;-=8@46SA1.'KN@D@QA:YM")WXS-Y+ MASBMMA^+4RQ.T=> [X%&L:A%8".=&I;A\F0-Q);4[5A2U[Y-_8.&+R1W3W>I M05/T"BV"^Q&OS%[^:"QEL91%@UZ!?G<_0B:"T_5)O,"5 MRA]>H)SRNN1^]H 45!T(*5351^ 49D#$"HWE7M."R\W(M:MYAVNGXSWV_#7:/'^=*N+W-*NL:U3U^%PO*WC;7UN M-3W>U5=G_0G[3-PL1V_)DQ[4[?SQ#W^T_MG]^_5EPM*#2^^\Y.@%K[\K,M-@X\RYM[C6H.E^N#_D1=UD?B^D]J3WXP MP:-U.3O*P"RG>^VGU(80>K5ZLY/7UNQBD1FP05<#G$FP^&%ESEOP$EU4S;I] MD3YS$-%G(GVP*NRO6*8_E>F]6*K]2Y(C4JZN,DF<(T1! %5S]1!*XM[N8G:6M:=757P M];W>/%W+P(X8&4X(69>_>;HK6_Q%Y+*R>_B]+092:WS4%=RI*) IC4KSZ8DZ M+5W8*D\]"K3;H^TJWI8V#;68Z_*;67.00E8Y2R=2])G:C]^SXSAZUR&G[+U\ M<<;=ETD?/6CXNG&?M=O&0"A7JM*TXBA:5:/G\XD&P0(:]P2;2#.'K9I.9]S? MJTC=-5I$[P8MUB/.X"28KFNL::XR-BX;ZY+3816J-UY"8$ MWE.)%,?%6L0- M"D]T7 E_)@CG<"J095 9%*V6++&"Y:CDB'$GC^@L#)P*U*F="M?U(*#^7T$[ ML/@^_D;OXT_L&XA/\*\"%Q(=$8G.%J/FAM%G2T)F+I#4(U'E9Q*Q;CDH>'MF4X^DW%FNZ.: "Z[BR01[Y)(N]NE'Z([NQ.9\I +:HFV\7U.: MOVZG%WKJH,A9BR9>*&VZ!E7H9TD2R3>ZA$\0J51\!_]=Y#N^B+\1Z3YN6%M6 M-:,P3WX*]_U*M]).99HM&4DR-*R9!(,?.MQB08XOWW]I,Y_#.*;R3.ZIANMI MR?=&2<.NSY]:I :W+3*.T_=^X2[:5E*QIS/@ 4S6'-3.VO).9SI'9KG7M::/ MD"'*=07.?SE_[=7?C1X Y7)JXN636F-*B/FJ74B.:T"YK MO>N]KC)O6[HI)$FB[7$^7WJ:+@?IP'I/X,09P^@C!CUGOH.[MD!=]T;_VJN_ M'Z]!1/#DZ_Z#156I]&I+@A4J1MFQ/;VET$4-(@S['L+$U_PQQ/SR3>:U%_]K M"@M28PDR3IN^CWOKY&U>R%[+Y(HO;:^QYIM(HHZ>[=WE9(\U]K.L2E3)'1MU34XM^+[_PV\T!@0=6&D7&NFVVY[B"<9;2 6EQM5FBV1Y*5__,-QB11QI]%&5ZI!%BT[ MZ[>)<.-7@>$K2I;Z_>K 1NA"\"[.W;@.[-VQ]*YSON+RKG?&TKO>K5=W5L>; M]=XX^@6U^&[*ML:I8:?17;_'/3 9@:5&RCVS"Q%Y,13_,,K7KUI>.ILOX])Z M.K*(:7TSZ_M_$K+^R*QM190S)R.E]2=>+,ZI365&L MIPT(,K@+00DI\57(3??,.K7Q<%,(<>JXD+M@Y/?9L-=MS!6?:+]SHAU<6WSE M%-,W0ZVC"5)8U1H>7+9X-MRO4(0IE]; MPR.+0H87B1,),DX6.D\D_UWBP)<2A2*& P>D^*;Q;ZY3>EI7DH#$VX6Y !SW MJ:)6E@@*+A'_%D/!G4'!5Q)Z(H8$]Z 1_);AVEM.VB7-'B<%7=SPA=RF)S]J M323ZZ;#S%L?%1;Z_WSWC_WDRW$EGF-;$=SU]M-ZGQ!N+[>6[Z6=V/;O/T+WB MH4FW3^D1_!\$D^-6WMO2(F]_5_7%[M_P7[L9*2:0'<3S\9OI4&CZV_V,X_^Z M !^1_8[A+___=]BC9/9J[O^U/_D7VB05V[2=GSNXW5O5&" \_$D&VU(#R:$# M9",IC^"+?\KF4EZ[NWT-[3UZY]/\^0S9B X8\\!Q_\)>?D34."#E5%XE]PBV M%8*D"4;>S_!;NX\"B-Y]9KLZ IZ?8?O/!4#/?O74@"N>/?M)0F!!VP;^NET5 M03_09V+3&^&B7ICR'QD;.PCW_[M3YX]N?'S+00H:OWK*=Y- V5?A'/I-K"5BQ7LV5Q$([@95$ M_N$__S>,RO3$>D=H8YTZQM?%G""VA1SZJ5VOEG*9#OPE7Q(S(E_*5+%V!WY0 M$\1.&TNB,9V2* FY""WE+\F2X5$.5?F_+SBK8%/GP-+0>8 M$?X1'N+*7V@$]K\8&7SS[S=H\@J4B+VS>OO"\*-W'K\#&#E0L :*C(/1D""A M0J7@ WK$I0=I"E #+D41J@R&Z12;_A&*M+Q3R9JSS#B7=#-#:;KP>OQ3KM@9 M.= :&Y!O1XY(AQC#![(22-K9KI;S-D)%&Y!!):W70^V2/*#8J5_"DPXY2UE& MWL[ZVB"P\%Z/'/=K5<'7JGF\5^M;[23N%KA2$XX\?&C5L$'[R10D@:?F*A"& MF916U0;TX4QG975-S_',T)A/*Y6V0,UTL%K"D0>O-VL=BS-SDF/4U[/-YK%0 M;8AZ!HX\H).[G$[!6%+*!NODRT69RKE/0S3R<*)DD2]JC;PE&CS5M"843W1+ M&VW #/ #.O%=2$"<$X0I00"3*'2%'(LZVAV,;,_S)IEJDPVID"[H7(&EW#:_ MA",/%I^KK:827Z95H=?1&^NGP9-#>NB9S-N1EB*"]J/_6#9ZLV6RQ6I69>RC MD=S;DF]^C52'/H03)Q MAR/+7)TW@%]LP(85L.\T+?C(#1QXP MB127&W&\4C9X/>VVB@3?+TL55(_HD$D=7$URN>Q\A,MUAFX8G8FSG@19> <4 M315666U1DH&1+.K&0MQDDOX@&'I TJ8B=W-.;DP;LCND)Y2J:DXCR# ZH&ER M(#CY3GH.^62GR7DY[RX?4W H<4B @C):+ZE14A5\N]\QGUJS3IU>HON^@Z'3 MW,K6*_0,X/-R&FB;KKWI$L'0@[TO=_4EF6DT?&'*9CQQP0_&%!X,/:26WJ(D M>I#+IHV> UJ$';.-3N% M7"&MX;+>]Z:\3;IY-C '#PBKMD9=8^%FBD)/%:;K=HE-=Y5@Z %A!T:G0:;[ M;%HH&#G6&[7:^8D-)W XU4V9>7)R<[$F)'/&8HH/:E3S\2CV)2<;:>Z7&[24I)Y<4)W-'U4>0=_!2!;7ZMVGE)@T"O/V M.#=31 MR!V5H%V#G ^ZY0_Y-GSFR+27 M.^MT]WL2.0A^AK;5$M+I4[-F:V6^4C?DH6N;OO=6W;CPK>K>]XX:Y,>M[SWK M^KRAP#%?KL.7SXJBQ'RY#E\^*_,2\^5J./9A^%;,EROQ)69*])CR6;F%ASWZQ3]Z)H[!Y0@]2P,FZ*(1/@#B9/T MRWUV+%V1E*X3;X7]^+G7L73#4Y#C,B6F3P8V%RIB>.&"U=<%X/-HL]],CBY0 MFO;6A.C"A:=O@":QS,0RY^:?B"Y>[I.#5IDWI0:M\F0%X2+9A/(:/6CC;I71X/T=]_^[QK:.VUI&@_?Q MMCZYFA[OZJNS_I[JTOXN1V_)D[YM?\G[+IP0<+ PO\RVW+$^BUMA1CEXZ*,U MGZY?RC7%[4*5SE'_QJ#4.?WFX!VJ,%]&^ M2XM5B7.X"LI3:=3C\C0I\*-JADX:Z4)+0HI$^L<_-)=(<42L2-R@]$3(H?!G MDG .UT)6D]M:E5]E\;;K"XL-Q^@RB4[#P+5 G=JU<%T_@B-#:QK2*KZ;O]6[ M^1-[".(S_,O(A61'1+*S!2D&SSU)(U(?".LY/@3,+%MOCK3+6OY#A_5G4MH< MX&M2$?S6K-U*MIL#+KB5)Q-,FHU]^U&^K#NQ31\;\+[J\'_H4M^*9!2&/=R17Q MGLI5F2XN,]6B-D@C"SY]3O,]8LASYHNX:\O3=2_VK[WZ._(;1 1.ONY!6-<) M=<"-!DUISE^I:JO%>N)4)WH%UV'#+RE$)DHE3J")]"Q/G/M^ ^'W=I&%:.8$@1+QO MR(*TZ?J53,&K+I% (IN&3' I.KX6_08"^>UN1"\ICL, M4:E$TS1!!J*7AJ*')ZC487V NY"\*Q4EBY:I]=M$N/&[P/ 5)4O]?H5A(W0C M>!<';R03<]]9;EQK,$[]NH54T7BWQKLU(O[J>+/>&T>_H!;?31W7.#_L-+KK M][@*)B.PU&CY9_X_>U_:G*K2+OK]_@IJW?-6K55'JG>OQ+30_4S]S(^?)+*S%#^9YZMQ<2$Q>53' M3->IQD69;0ZJN>8G'#ZO[(Q9"ZH-L530==&15?6$"RC=S7##97VQ9+)YL9I5 M,DJAVIT@,,!>7!$B$1:=?>LI6I>V'KZ5B+AT;LA=(/+G$.QM1W6%5]J'KK2C MP,5;KK'UICMHX$R#PK-I7"JJPKJ:S]+PZ.GP&ONN 8H=E=Y-[(&,N::9;O%J M&&3XXK(C"DA_4;>!; G$17>Y++(@GCQ8%]_%8^T7,+V:$C&LF;S+N8O MOL^9;5KR>+,/FF=6W-YWM_C;^M1@M/'8S-L'_1C\#XB7DY;?U4Z#/I*!FJY9 M8,U#ZH#PGA_P#HZ$J ONW*.M?8T#D]8+23,E*,TP:RJ!_QN2A,W!&Z' MHWB#H=H#O<9(E<9XT"12NM+Z3.WU/BS8\7,Y_5PFUWG#&,Z2=KV@ MNN].7UG=M-@QO.--6A/;DK&2!3]4J M37#Q1_ 3.O]=T-DGH,4EIW-R&9ML%%O,TS6EP2>3R@0.,SR>BH(DEZQ!!0RE M=X,SFQ:DN0E\,XP#H4^A. 30$*%\%.%/*$ $;38@QL$_J"D$_)J^D%PXF0@+ ML'&$(4W!UP UP_?H\YU\W=$Y!KXE@_<]!.AJZ( =2N![8Q' M$F'OM',>K-0F&/C/]EH!((/<%D%+-+ _L-XV7&4']C%SP0C^:$C\V)(,3 :? MP(>JJNYX.?@OMV3[((N_W7;?@PKC J4#-;(.V$!&U07%T]]'0];,=GF=$4?X M)MNNE]J/?2JW /PA ?I=@)=9ABU=3G<&6LI4@HKE7Z!)GM5I=M_$3ZHS)W47 MI'7Z3_ ,1@%@A%^8TE__A_U-)<"SO0W-^744H4C;ZHBJ-+;^\K:E^Q\@G=C] MQ%._W35[^KBW!G[BJ?+X?^#9+,/?E_<^PCWSVR)!J?@#=3;")).@!,_RQT4X:T\M>=FKZ2GCW34RW1B_VE_ C(&MN2 M?(,,=P_ZQ2&:0^7^K0$;<+3M?S]EJ)$/\;.9A2%>;H,7XB%^-K8=XN5&>,$? MXK$0,5=#S#LS#+Q[)6!NM!;2R,#E[6MA%_"HN8(Z8 ?=]Z!=O!@C'CS_Z"7B M YX$"9AS](L" #L3H4^FG\KCB:#B45$SQNNIUDFTKS7/[]B:V+(H.\[+T-3M MH][.1^$!BNLOU<[34L5M;J3/6[:=*$LT,'K@/- (11[/]_MPMM2K.O+UZ1M@ M)G$Q6?6SLJ!>4]B^4?#F51TG%$>7%D=UL*^.(ZDKJ8;<-RH6 M @@F6YP00;A0)FO3&MU4EG;38J:<0C_V)L/8]410P"Y;@*!TJ$^%^E2H3WTG M<9;7[5-^*I.N"8[$]C5.+CC5X:K1H_66,XR[TBR5NKQU>$NZ[FS3%D*UZC/2 MZB<4HONB*RQ%OX(<$T1#.B/$H-P2GM7?T)!MSTBROI[0HJ7DT,'9B6U.<_4) MP]C-80)*LC@>B>%W[.CR>T==J$ Y5,W.JV8W+\FY7:SQYD>_3WGXX6;@[0[> M3$WKFR$GQTUE6JO.ER6>'B:1=S\521+4:U+/+UGY'@4JI]G\^?S;(%3??/PX MO(]M@55\2A6Y1"S7=FIL6I)9N/)HGXGA@'GJ]689)=O.4XT% MP5:T)/3?'NUSU=$7.95MS3DY-YA9R[R:S=2;P]CQVTO3J9":4MTY$VUJ2\5N MC=.Y<1.8,$=OG^3ZG3HQKYE*(IW/+=K")O:XH<'*H[?;C[R68B2GSMGS5OUI M4)#;T3D-MG_T]I1@1TN#PJS"=:.C8K2@LE4KUP0,>+229#JKC4I.L= MB=;&[4739=7#E:SSE-;SCN8PDMED-C%I$9=BD*D3SU=.!^E),YU:YY1E=EI8 MYY.;S*#='*:.WRYFA$E2S3Z6N4J;,OO MJ RR9'-($,<;P.WB,DG*>DGA5_.QHJQH?E1P8!'HT=)BIJIIHM8$N^CG.P[5 MZ"CM)>H@=+17[JFW'B6%31OGGZQL]*DB,N,2>JJ_URNGK>>DD96334'53=LX MD9&NZ.L9FT_(=:6[49DQ59S6*O&F>P$!20:T8>O,NB%<1EPI?QW]ZKAIB2-= M%<]4*20>7DKNRC&93L#**;+Z'$C=#6HXE_S'!/?VR+I!04-;F$JBK4KL&-+( M"P4+F2XO]*Q^HJTLU]E,_?JYB(4D\I,Z.B L3?6]5 ML4"$E20!Q MQOH5=B);;%2R$B D@8H <"PM) H@7(JQ4#"9>\(=$B)C 5%Z] MJA_?# @IW]!%?_DK6V#WPIO!H;7%(_=3B14+T]>O!L&O683]O=P:'4Q+6Q2J4&>*S0MO;FZLO:@@Y;'5_.<[+GT)YO$#( :OJ*>PD(>K MNC;I -4?IH*]+ 33:68<5>@ZI\P[_,)*&Z-A=>E5(1/4%7644#*\Y""X-6]\ ME6AXP2]PZ^,'0#1<4T-ZAVPH3;3UE,G3-+=D9\UX8!>:$H37R8ZR1[^\1]:,Z* DF;^ASF/]RJE>K.2BL5LUY@JE0G5BU M6!&'C_)DF(*^49+ (VDJ%<9]0W/LCLRQ.W",OI6YJ61SUK2B&UO99 2C6ZNL M+'WH .9.0.:F(LDKI+7=5/M@+YJP]N-DT>T[$W^ISA$FEWQEWEE=UX07@SE* MG1)RA5QSD(5/CX"I]-N)45U: MXDP7')6IIN(Q*4G#R0I0K8G@B>,1,']"GTSHD_GV/IFOD@;7SIN_K#CHDO%H MM&-)MM)MFR9=;>+MW@0-6H&:4(1('NM!?^[,>8/FX&'J0\S-<_T4&O0$]2$\'2&H M6.CFN75_A/L4#6_JC? S1<-7)-F\*AOD)[5K6$^]M)+-9X:EO*;W5Q::%Y=P M7<"IL[U3#@9F/I\Z^:UF3!Z-S-QKZ[\WO$!0)=Z A#_]Y_!=%-S--:87O-C# MFHSY?+LE5"+U?"3!_SF8O+!E1#A;3#?^^MRV=RIOX@.)&&\B1=W!#FA$_%]> M=?B-Z8]\3CV0VX[S?[<<"^& Q1]2J?]@NQ\A-(Y "<>6[0'L8"R9^ZW#P63> M9Z],E_"P8NF+OR3Q *>D[8UN(V(/L2NAZ9DLI79(^5\>FQJ0[?]OA\V>'", M?P;$![A;/6C=[GT$]':4_>I;.M1BL MR%9SI7JA'<%*]>S#MC'Z[;=79SM,&^NP6):MYYAZF\G!G]ILM92C.^"7?*E. MU[,ENHJU.^"#&E/OM+$H7-,IU3DF%Z"C_ 9&L2V"*U?\\X6[0E2]-RWR_!9E M#;.FNFV"B]&,8-):D, 7S2EO2,@;OY ,_[('&1A(@2^W,8/1&Q M^_!0M!S)#/>/X#(4?L,5V']C)/KFGV?2Y$ H$7O:B/="]Z,7'N\+F.W$U0)A MCY+5#>7@!:&NY>2G32%G3(8G)KY.BZ-.UDF6ATI"6,:=:K0LE"8G!QU/C(QJ M6.;,83;)Z'S)6=/D('UR?/%BW)[J#4,LXM*PW;<3C;6!MTZ.+]9&YBK?+ZTL MKMUO9TQ[U*'7LM7(6/VG(@V[DQRMC!FIBC(KY2=, MEN\:]7QIU8V[^\,C6=VYJX#D,-.>@Z7@X29@+L ZDXDA37A+PA:&K GR@E>Q!;^! M;C,3-<"TC2.7#^!$U8;T^[80603JG.AEAC3G90U^$?Q'PN;@G%/T%FC;1M 2 M#9P,K+>]$1D;P+8F>C!,LY)<#>)KA\?6>,LV &M*)CO>UXA?&"B[>)HE5T2C MF&0*G*Z23F']]YA]UQP#F,\'N(E M>'@A'N*)$"\!Q O^$ \'EUX/,>^,W'GW2L#U+N*7AX(Z8 ?= M[RMSX?9)K@ ,V'DO%7J[380E .[S+XJL[6R(EN1;5^RXX5M<6_YDQWD9>M?[ MP.PYX6>?95K:)*FEHWBTMLK7BC(WBLZ=(4I)2D7BB7-YUA\39+411>5126M#K;5<>"(V!IRT)P01*L"3\I*/&8HB>$J M%LT5LX-^DAZ2;^HG?! M%G.4:6EM)DKDFMR4X1;QZ&XVW36$V8TE5RI4JT*U*E2K;B" IH8DG1!!&6?3 M?6J5Y:Q2:2:G^+*P;%5236_NU(6'[P56GTJ'^M35]:E;%Y[<6-^Z]?%#<7@@ M#O.Z?H7E MM%6=#!.H>H8D(_'DJ\[[N\B0_X+-'B69RB<2I66 -UEP%<\8EC4D4;8P>@+4 M MDM!"XI\_;I9=5I\#C&PP0QK+&LS4$S'9,C%I+8/=@6\([J/&O Q"F@>I>"A M;%ZX5+-T\ %&@[>(X'?XMY9D6N UXO$N7MWG;FL.S/$;;; V/^8-607/C6#5 M:C:"\28&Y)RA.P 1\_+>'\Y><0(VIT 1"LO:T T C0!(8N9]LB411F\14() MB/ ;!P]#[YS8O,&#PQKF\5L+V[_MWBL @ ,0 +$&7VH E,DK\/L8J* 0JC8* MP6]?=00I1[:F6*/NGI<7Y[(&T&&@K N,GX 5$P-]W@PWQ*^ M8/L9S-AT'V=*X%H!.@4:9.XM *>!N7N2 )^L;EQX[9^MZB[S#_: =5[<,P]I MP/3.BTC S2L%VHQN^'3$;Y<#'"!"TRS9D*S-0X"8K&$;,&O5P@!QOXBCR#&E M8+_E/SYUBMA_7:O*B\3=*B]/V1ZZ.\N['+JA ><.X9TU]+LBUY"XV"X_K(C? M+?=XF-9$GX/=!V]/[#V'I:I#)4UU%_A2;](ZM5HQ3K5YL1)]< Z)1EG\S^_. M.F\8PS:W)$E3R&V4K#->*)N!F8S6)_#FC)^T!CQ6XS'+'\;@R[+-,2>C@0VH MD?2.DW_+ *ES?N,A%K,7D"QNB5S_3^[$(<#MAVLNC.['1IV(%T:I*4=6&5S6 ME [+-2:?L0V!S&+'S_;,K^6Y/7<9"9Z(!UHN^/PD">#QP9AT-FH,WW0T=?;8 MEY\R=A,8A,E72,#P ?;L5CM!"5O8(G+840-0[[R$]^#0056R+)@PXBZY,/JE MAFQ1"NNL%*D=CSJ=$KF?IKU/N7: M^2S^FB.MFTN3JQ5.XNFQ[!G][R@Z$$9+*01/+""TY2>4WDI@S M>,>_?FGB2I*YS2HQ?C"KESEI80A3AUDLRJF;HE:J%;N/2V+55MAR.V=VJOWB MB(>2F7A%,HLNV# 1P&WOIJ:CQ&D9GUY-_RZKL0#WDEXM&(F#JJ%GL#)=HA8WV:RQ>ZLYO*=5)FGHUH2OLV\1RZA*#] M>&R>IUV;:6'H@B2)AR;F3M_$@/D@83:T&0$E;HUQM%2W+1/2'M0ZMNFTCNGGQS%5X& M +F[6D4 SB_CV\_RW.0I6R0S*596R 1O)4HYNU))?(3G7)?D"8;+HJI4Z" H M:4#1X4V)]B'U+E[L@_6I,1=EE&Y_-C95>Y'.:E"0XR]4 3_\#ZT.W/"SHQ!\B1TCEP$\-:15(_VI_Q*\NX@<'[S5;?0 M2.(-R)42=+!@O(5),G+F0+\#CXT NB&L@;!1;1.QR6*AR@*2:.X>,V.=SKZ_F^F80U;D*L1 M\\#?:K(&R?+"MYO_G$?>D.'Q6V#I@QO):;-\75 MHVP?-,R)?<*E 5XFF^T%X$>1U?:W1&R9+TKN<5]77E/F>M!=<3)970]S=*/< MH,%-B#^1J<2,\K9K]F4,#.7H:D["/!:^!'6&ZX3J>/+]5F\VW0M9^&T&T)7 O M2"(++A\-1B'S2)4"D($KV_K8\!XT34Z*"E=Q)+Q;4JFU7B0KZ\/;^$LI)6'. M1QF6:3)REQ+LU$ >IFO-%RGE9_/\FU',UHQU^TEK*7*9ZC?8.)4"N[@5BIWA MI+-L]PU>*12G:EFB%<=.0-?U*\( >ATQ"9H> KSAX36/(DM[L2TT0#GYCPD1 MBO*84 #.0MDDFF0]4\7V-/>M7B*;KM+NJ>%;TX'?4\*@'>&_V-:0L;* W73! M1_M6S:'OU(V3'!GL$;^5!W9DCT6N*\J.U/NW2JZ7S/87_/!G74&HW?#76?M9 MJ4XES;PL,5U!C#^5,OP,7Q_2(.> U%.GL+XGJ2[@' +HOFWY^CQ M!"R F]M62,26-F\ +0^8L:<;+WW]17^CR'+2+K>6TUB585@+IS08%&T).@#F;BY:H-(G7G8+RMM$&DD2(]A,EY'W!FH"7G8*S$$9;7:ZQ"ZW M!D,Y0"<[W"QES?R4E)4V]\%_+0!V!_(K4.?[4O?]%[D M?K-MPZ09MAUK]_O@?=>>M>FP9VW8LS;L67N\ MO7K8LS;L67NCGK7O[[%*OJO'*A68'JL'LFV_\&R,_G=6/X(G 2H-L'3 F\%N M#9B7O0"Z"E1=D8J#2,=!H5$8>':]*/P8J#IS+SL8_*Y!_1+^(N@K2>-10'67 MN*;*P'SSG@;SDW>1.'C$$> I33+!-P )R**$B!<^U$T;%F$>LCRR/7T+[,O8 MN'%B#4 89N@@O6-DF[+[%-M$0AN%\_P8> 03^ 5,NW?CT>#],'@>06G#ABQ M]<6W?W8?^OM594JLA^%09YBM'W"1FU_(" M9]*-":_)3[P''U$7;&]7O( :W:)1:@_ GT9K'W Z"W^_/SMUVAK&W#W L( M!?7JW:,6-\;JFZHV!,9?%&6$W:G0MWEL[CK)@)J]!@@#4# F+L7M;'%DO7K7 M]*ML<1M_=ALJUQ! ;2#N>6 K[,Q6F.W1=&USL,J R.X"7'@?,5!#]Y,]* (^ MT#=CQ78EG6JF=&6>Z#U&'=VDLM*!LXW\J!F;A[#.(E!G/4BWX"%A-;DY!1?/ MUF3%]RS6HA--=4QGD6,JUHS.M<7B8S+JO&"QOAE?D$&(!QP'A.]!9V>E>BX- MS#5CMBDQGCT;\PE,1EPV@O0'PUQ 9(@HPP/9,7O/0'(*,A/@4^@6AJVH_3^/ MH!?>R^HZ)-"=7V7N.O?>YD *B?;"1(LJX^J2597V*/8DH:;Y?[3D)UPPEO($\,2G;UQ,H#KTQB&\+PNI%_8ZIQ76(T M/,4^I:#S(C))7-C5UXA7'P?UIVB'J\BTUBPGN 9;F7PQN9F/C2E+=32>VPS[ M RX]BN'-1//7O]2I@-P'Y.)6R!W$[XXDWFO"[1^H.$%=#!(;;WE90OXU+L@& MT$J@$TOPDOQ.^,CV=#X4382DC10(E(L%O8B * C4@ WOJNA@.U+*%L)T,Q" M-V 5'M3TW*PR]("W2=/1QDNO#3!W7(JJB5JC&!M8JP).]E=\7+V9*8Z/IO)!=] $A M"^YO1,-CU+_4)V7S8/ $3.#;)[4]DN7#V_KUV_I2!*NJ3&\TBV^ZC)U=E)K% M$D>VM*^^]6FRRK56E6:-2?#]*CVQ.WGVR;G4K?^ Y6T#7M(P/?6<@832'UPS M6=JWP%U#"]*9*(UY6[7VC6FPM:AGM\$5VY!.9!MEB$!#%"9@1["5K*N\GRYQ M8)L#DO5"AYAGI6W%^:-"/>$TQ[(4EN"$$ M&7(7V(/@'S&R^^+,%B>^I:N)GHGK[AI8_+KJWD@FW-\#QBT\:UP7W(Q< 2T% M^-E>,5O(N>X*R\MR!>:_;&PA JWUO;2V"0"(!-UD0#.)8'M ANOV<^)/I,.? M0"\J]Y"@X2ZI$DRE$WF?XL>>B".0D2[ MZ-##E_0^>&^@#M 1JCRXR$6=82+:4MJQNF4AG8'3:5[T9K;//-5].'1X(& M!@.M1)[LM/A4CXOJ,K?(F935[IPK'[\T!N:]M#P05[C&18LE16DU1L+3$!B9 MFG[BLGE>Y^#YZ@_DSS/)VR.[2=H9 68[95HY+/*IMT MH]A,V-EX686)FA$B<>PP@S?!P75TLM8X )@+J(3]2&%ARQ\?][9RIF@9+@Y'19F>+FDT03J&, &4E1)U *M0RW&!"][I+9-<>=AUZ^H+.\QHLR$"*> M-N,?/T Z!*MAK&#I(\D;TT?$D-@"PJLFB5$&\$-15T54W<15LV[6"SC%6!9@ M;Q\)J%0-0Q=MP3+=[P,[]R%R,OMO"XS]CCT'#8$.>_-LU_M*V5Y3#Y1"/L/=3_UGN#W$\(RP 9P(7 8UZ^% M<'0$X^.RZFRN_E;AEZ5S0V68X;.+Z+3&)1XWM_K.3ZJ3Z[H,M<=U[0E_Q0H2;630OQ^1$^R1!F5V9(67X:Q<0H.:LT M7^RQX%+/<9N49P3]^XNZG[P+KQ_21\ZBDTRR5#X'D,5D%^J@^-00S4WA,PV. M/M_QQGJDRXO.9,%%HPFK8](;/;6"CNHSV#S9]N3/@=S9290#";1K]O6V7(87 M'K-?%%^VU8V[+9+RB^D[^_+CF70\2!3U$T*/Q? S$?MJAJ3O*3PGW#?' CAH MR;4O2-T7RXJ]*F&@IT*VA$FH;G1A[![I?[8S:E[ D1_><&15/2Y, MWJ]&!H^']8N'94R1ERL9MQ$*%"Z!V22[H[QT!N1E0^_=;K=A $1@L!X+^PV[ MZ&D:H%W8W] - \(_PO8&\%] 8+O;[P]ZU!Y$))2T 38R1CT/T9G\2S.;8UN[ M>]H\"&2??PT\"LPB,424S[T-G;\ ;I=?CJL^O8'*Y@'"W<8)< ->)^VK^;UW MHAKZO7>_?;8:]*R ?F]-<'19>$ID+CY3"7*8,D,A/-T9T M28^81'%(=+$6_&'^!Y5 !PN&[RCTOBL/EK)1KB8+%,&U%M_.QQV&M0MRL ME#.G/[))Q9)EG-3D5'^S$.9I[0UUW<>B;2LE]]@77E^GQ-AN";)@ D077\#; MZ*M571-UK00O&AC-8%V1O$7T@-N<27Q\Z9HNX H?0+6/UM*"68)MX@%XTH/C>C*RJ]&,7X]:!-[GYW7D??+M1;?=J0?=1&QZHM6B>&WQ;ISV2+$>2M !1[^4$TD0KJ8-T;EQ,RZP3=D.W*M,E)#5N3:KU7GTD!D8YB[-X.Q'E.+W:3Q'-R8O4X6'_>?VP_SGT_ ;6 M97'J$ON*LA=8V@%;X:,,&?"'MU;!O%[ALK=BZ[/:];E'634*O"2]S!4W6P6Z M&,25F[-IZLA$WS04Y;H T,&&6W#M*84ZH JC>1#(FZ/BH,&7L M^0:]KR*8[F4/OJ)^@-6[R,,^'L_E3KD9K%Z6U7.%ZV"+;Q-J+)UR]GF]U3\7:)!X6:X?%VF&Q=EBL'19K?^=B[>"47PDX'3E@*ON]9 :?M?_H!IFOM9U!#N<7+#<3N'9'X>F/)Z/N>PU.)V9D M]%B57+4(KLW%,OF5-$[T\_>0_GL6S(95)W'R'=Z1Y_N"!L_[$R(KW-PB$JTYR4B#ITP7 MG]*#)NT,B2'^R]6@MBLYMF 0JC:*X4LV56\FGP;$:$V#E>3SE76F3@HKR>G@ MK)H0-NRD,RR1<&7\^4JBK>57HT%VPK#XD*3IHL;W+7I('K_=(G6R2,351[PP M3AJ=*D&F.YD)6'GT]DY/SZX'*=+$Y66].9S7LYNN %6JVJ'C;8YIEUYM#HRN(V(U02L/'I[C&<):T5,YXK4 MY@>S'![39[,F6'GT=HE:3P5F(C29RD#J/Y&9>4.KPNGK1V\7Y+[%)0M$A>ER MA6JT0+*/_0)<>?3V1$PU)@KG6)S,K$NB/C %8>Z E4=OG]B)X6PE-9?*4HZS M;#PS@/&K4W@O'/;*7G@AKAC78QP*UFL?8KG,*FYO58Z9N- =MABSC]=3B44CG.TVP M\NB9I>ZLE#,=L L[EM*,?B(EJWCS%(X&]$8PVO*P@DOVTPSO5@J"F8!X/WIF MGNHDTU5'R#/=1J^Q'+.,,:&<4Y!/=>VREA&B'28[F+9BCSU-*.1IL/+HF?0J M6]0ZTKK/589/>8L:BZ6J/#F%H[1E+%J+I=+%"YE5MM)_*K;3AC.,GX#\*LI/ M:F9UIK37O2=Q.;4*/1*N/'H[U0>W$#FQEO@\VLL,I]-XL32%4Z[]MQ^,>7W! MZS[T+M2.OG>[CN(-AFH/]!HC51KC09-(Z4IK(6C.24XV8;ZK;4@ 5E9&U07EEZ\=$I4Q)_#<8'#?Q M.;T.:9'$+TP"PGP!M@9V(5U,ISQ2^%]6?)(/KC_K^+\YIE5ZI#NE1P:8BNU. MBT,FUXT2PTN^/PSE!;0=?F$&2'OL2H<#8K?>.Y3H8(+=[OE'4<(::H.(ZNYX M$ZC"+L3G8%=3=?/LZP?ECK#,&&CYMR:9RH-SY!(,:I(,# M>HI9C1.G?<%L\)SK;G<%9H_0^7)[_Y%C',E"8OB0FVO MTR\[?HX%$_G)CF7I2F),Q2KGIXJT?.1:S4'&$-KTE:3CGKMQWT-Q:MCW[IOX MV^=\HUGE6X^N.Z,>#AT&QY?^^C_L;PKZ0+T-0;^(X+H0#YPIO&WIAYX4],F! M]^/8^7'L\;8,?V.^P]4]M"7ZGZ\DPY(!U7KRT'6>>T])QI!'>0]>WOM\V.TY M9O:>#QLW :GE^%#S?X\Z!F AUW\-#9]77<>>)__ I<./3%VUK>"K$2_#P0CS$B! O MP<-+^B&>#/$2/+R$$F#C85X"1Y>B(=XJ(]=#R__8QE097ZG>NRI_!YP MB,4:0SF*F)_+\3*Z/@VDU%MBQ(=0.QV7"ZOWD^[$Q[DTL3A9N?>])8S2\7$E(6U61)M8Y'IR:W MQ,=4E\>=0R\F3)!W?;7031<5^4UT(_%&]+7N4C5OVA(4_ZB2 35M)/;C^P6& MRJ5:10-G^ZM:98(OT_D&_>O?MK2PO"BP.Q:>\%V;'IC^W; MR8:RXVMDA^LQN1<6NV[,]M,\]KZ"U-U>D&IZ-F +V&SY2-GS:JZTY J]P7C: MI/NY(D.[R3_X0XHXCME>Y.J)!T_/_<]G]?:?IJ1W'-VC8;D[651R5)]A[,ZP MP:X*L]D@,?DJ)9VH%PM/"Y:(XTNRW.P]/@F;ZM#Y]6^-W_AI 52@U/,; >Z9 M>LZ(%-6SZ@-!D?+]IQYC3/H:W_PJ]3R\3]\32?U.BO>W5 &^7LO>"8%ZK#_H M<5G24FRYI39FZFR<>OQ,O\EW:-EE4V&G]*JQY#:3Q#11B&6&X@#FZ0(M.Q8_ MV8_PVXB 3WL[KQ--## 7W$ 1?@\;7%41SDY6S"PV2U:4BC =VGVF7)5:33=C MG7I(XZ=&ZUU($?[66F_ M/B;Z'-30_+-.8V/+EA+K&2XN=6.[S:]2 MA6-1BN[2;!QGHMT9EUR6ES1N U4X+XT,&W9P\/IYQX.E#]\*?L\T8BNI)@JM MZH15$O5H/=ZFG-::!]#;EGR1KK,_?4].ZQO=DJ'W^5MH!#?0B_>$08\EYKUJ ML\LK9*%:7Y-LE-,K7Z09;^@G2ZP/JD"4DJJ8US.=07P.:\B 9DRE(JD4=5?^ MYYLJR_?"+;?0G]_%+E?5H,?5A)ZB"UT#SU:B:BV9*&8-WJO/C &ZOHHI^2U< MR?^#BF;^/5(;KE;?]W+-SV'7*%CE]U8/5S"*$8$2"DO!4#$@)'T,Z8'FJ8G. MA[.V-/VH?@PU+T-]0H+5KJ,+"Q]-\'6W\>-4.E7Y)O#F%%9+.FZYI?F T<^[ MO7I]!+WV;*+7HMZ>VRIZL-OL3-#G"T.:2IH),R%5W33AN 8X,I$W37DL'U5] M H"!Q5($]:*$G?BQC2RI(L:+\+!N,SESMUS>#BQ8\+((V[!Y59?;.DNT?]&K M]80]ZL:\;& K7K51KQ=8%?K\_+*YWTBSBIIHDN"="]LRO>+!E3O16!91X2I\ MB.YH_N@3 \C4[5#'_<\\R D0<)*Q@#-< >H= )[M+ "?_%[=99!(JH00 3>Y MT%59V, R76DM"3:LG(7S>^5=J;C;'L^%B@,H:KI!K>_<7G::CF92()>Z2QCB M]I; QK+&:X+;.6_W.#C3 +;:L]TL:SCE8Z&;DHNHD:3* 'UH:R<*>O<0L?%G M4V"H A&\>6RK8_B1.]13'P'P>(T!W?X>\)G[G1M1N\#=*QW)?2*B%4A]!RU" M?(/X62\A$8W <*GD>:H5^;"T$?P7$$B&LB+ M !WR'(F+-W"EY@\2%Z&$$ \;V(YX%8W&,*<2;$_I\$B,N=6]YE>6[3+^D?+@ M1(_P0.P8'F5[DFWA;E;-/"6JTT=#816C/&WPY?5 ^>F%NU]?E?M3JW,"5XZ3 M_J%EA8%#!!DB(@B(2#TD?VB!6L 0 433#ZVL#1PBXF2(B" @ G^(A;+IIM6R MR+,=W$*WURK;,IZ]UH;V&D8+R!0W+U0 ^9HN^35MKE_.^CN"QSO3 "]2*(D3 MWYJ D#/6C1111,2;%XMR#RY%0K>MH7WM_"^'S487)Q:7G[XQL?@Y%L?T$OML M3>V-(HPOBQK8#CDJKZ.N(/E;1/\,K?+CT"ZW%B-ND^FV^EE\$JTWFR?%U 5Z M4IX;]\"Z@0'DO;2\<3);(7>YE.?TS?,DOOA2^(RU?VL"OD1JC&LN!S'8_^5Y M,9YRA72KJBX@W_9!AT_$@UF7!6G$@4>=VS_>)W32':2[J=RBQK!*-XW;_>BJ M(%ZFKM/=ZXE\FD1E/.B2FPR%9_.C*#O'H_79H.G6R =/#*.8,I M9*#=?@]"QC-\?Z"4.3$?XK9BALLEFI-F-Z4R";.0Y9=$,IFBF]<5,\-)M*3T M64UE*N*LG2Z,*K4)3;NC"B-:K"5[\5G[RKKQ3IL=E'6%-MHIC.I^9N(.>B B93EU96VYPZ9'N)1L])Z, M1)]7C)NH=[0@&+8D8JK,(VDE2Z&7,/02AE["KU(//?ZK[M@O>W&Q'^MS62K? M(C9*>]%KXA,AER#HRU3@[>W[A.ROICI*.THT*)SG1JJ5$[I18T*[Y7>)JY3> MA;["T%<81%D#\4>0_]R;FTJ-QT?INKKL*VW1L1H=:R"8P\GMW%37UV)".1+Z MJNY6&4%,M'>E7\4(%6LEJCU2JG6<9-L,I\3ZQ_0PSC41I)X\OMZK5Z6$*$3ZCLYH4XK"=>M._\T[02CRI'&O))H M6)LZX67-K6R&-9[\.@+__:\@-$OY].C7=XI&6A?DJFZ:6=ZP6 M4@4 */AG>@RVT^'7SX4F:J@DXYW:6G'2&B.+V4Q6?XH5VQH-G7>)V'$_-52? M>QU8GW"G?@;82TN7%S:ATTRV,C06.*DFB<)G[J%+ #N[MHU5MUT9XLMU-I>2 M1?)IE9[ J'>:.+ZAO")_F##Z]L8 IP;N(JQM.V1YG\8BX.&PYAON7MT$K:C9 M:XP S@*/=44*'[#+_V!;17T.1IS_;9N% A0$#:H]/G2='Z) MYFRO4'U?9VW6E@M]AF^3O5%R66NUI<]0O9M\L@_;$H+I$2?X])^1X%#QUK8W MA:>$GN.*]&;6&JKC#*YTR8K9)@$M*10008GT%PF@YXB)[2/F,N(HN2KF],6F MT\?EXJ!8;CT6AX^=SZ3S?05B3,FNBRTJ6^*6(RY:J= :G6\VX=T03QP'=I[) M$]@F!#9V0>U'ON3._A'\]2X$3J>*V"3GK M*U RW.2ST07+%KB"NIP,I:=1PVP!GDHEC\H88BZ^9FFP/Y[3A)I1\_L"7])=)MTU<$A";*& M:*(N'?581!2[['L3(\=3S=-J+12Q/$M@)I)K2'QP+Y8.NP% M]!DJ?M[2"H/5KHB<-;!U0!IN#9)+U2ZE'C5^W2L3W:M^%53 (="-,/WGL.$: M!4GM&N6O+SI_R=C.4^ 1.IQ6=UCB^G\.2G>WX1#8'T8W_OKE8WNG\DJ&2>3Z MF$A1MS*8A\+I+Z\Z_,;TO:6IO:FQ?[;*'%4M?_"6)!]CI9J_]#A%[B%T)3<^D#[5#RO_R&)"A M0"3\WPZ;/>FM?S60T4$=?H ,R^JH5<\ND,%?R>'R[C*_+)UK,5B1K>9*]4([ M@I7JV8=M?=_MMU=G.TP;Z[!8EJWGF'J;R<&?VFRUE*,[X)=\J4[7LR6ZBK4[ MX(,:4^^TL2A%F4@!?]\X:Z>WZGGMX@:ANFV"2Y-8(5+ M:T$"7S2G/%#MH;JP -+8^PT9[.;N)&^0N$A"1(G]7EJ>B-A]>"A:CF2&^T=P M:PF_X0KLOX%. +_YYYDT.1!*Q)X_V'NA^]$+C_<%#+A9H&8@:[;;:<[K0494 MQIS <\L5LV'&\][26)$=83*$2XF+B:4] 2-; +7"&93F@:4'<(^YR2;"!D.J M0(#TN*[DMB?T.U<"3<Z^'%+W7X/-$,T^X0P JWMLB!+?@@QL\1#,][7/;QQ(^TW#]L%[AWW MZ*QP[_NNR-=];OZ)+V+">/L%PD;6Q?V&I$!VSC%YOD X\Y<'WV"!)X 6)@]P M,N7%@Z:6.QI$!,L#.@/L#IMZHF;H>X[10!DZGLAAUBZ-Y5V&]MTF W-MUZ=J7(.8XPNJ,N0;6<7__&3[B MWQ@*>< ") QQ_0%=?0DR7](R>I:U8>YIZG*S- BZIRQP7FZGX0OQ,"<)7 MN+EGV9(93Y8L@Y-*L>I$IV,S<4Z?ICUTK=W&G?T9W^E9I*6%N:*R)3[!%'(+ MI4_&2M%D(^A!HX386X[ZA;*"RT^9;+Y!#ND<,P%"_80;]4I!PG,!CY"M;^AC M7Q%]QGHD1G.\O\7]@@XZ[X+,1M'S@WXJ,0H=KS?GMO5 M7KG-MT)C3*K/II=;C2JXYL#^5E'/%L =/ M9";.I!'OXX4H4V/'Q5JFG9^\H)%>-.:QI=ZWQ3KV/5)7Z\_O QR(AKF,)HB8 MM"9FT:LGDB;(DIF330$3$6FS]R&][&M3%OK!D8 MI+U*E_XC-^;+/)5Z>*D#8):MU4H=UWM,UW.>_[C U+,EIGU!J? >MUY5FO J MUC!T09*@K\ ,D'3:-W .P!FAL&[E:ZN7(_1BC=DW38Q%9U!E,V%;4GNO!*7 M&]P_+':'0W\#7"3/O3% X FFY#*3!RMYHAM@+T!>BM(8W : [RQ34L<8#Q5[$[Q)53&5=TQ;MMQM2-!+ MQL,-6P>Y:8;$F[K&C\"C%H!_91C<@8PLF;LA(_YKP;94" H!CCR!.B(07+9J M>9-*P(:!T /2#,YF(%9&8TAX#9-4- 0#?M76!,F ?[ V MAWXE;X3*WD8^NED 7^CW-]'] W8 Y AT+ I0/$'WIX/6PJDS:$P+#P\": SZ MJD2P!)Q,&H^!(!"K]<7DBO%@':MPXJ@ MI2V+LG71B_H]+%GRP1%05IP"2O-9;XOR6W$]0$ M9^U >H8N[,T!3#2NSD)">J'#2#X468#4%I+KQG\&!T3O@( AS$ZGJ?!(5QH6585(X8ED.AXG M?[EI 7M_25*Q5"Q-);R_7%G9=TDAC\0Q&F[F!31A=' L M(WF(?%L6OP:<:-F&MHVE05YP#SB6 '_Q:F1[3Y@6$I_@H0#1\ ]($7.UC"WK MS( A98HR,H!@=/&U.->6EW/?">>#NGH' AA(=R @2)Y*(MWR)@F;@\2BF M"Y4@>". L_"V-=4--PJ*HF1C 'R "V:TT/YI$BPSL26946"WJ"T)9SHVZ-6KI7>$) MYA4F'HY[C/WGG:X<"-\I8'QD0/,NR4.ZMBT=6 @(!0L#G,J0H15@H_O,I7N M(LF?HZB!LT.E"*G*[BQ&&0VMG,-D1'0XU[2X$8:?^1532M5(\I780)%ID284=6=]Q $7(-N<7"? ^EF6N#>.T!^!$/C1X&YN $+QJ9D00GU M)KKQ\O[N*665#%-6PY35,&4U3%D-4U8_F+*Z+RV(A_CB^12P:R:QGK7/3D4: M/+.4) 4^25'B<$2-4\,8-8X/TZ,X,11C22%.I82TA!,'AFQ'&#J)1=4>V.4\ MGC52M5H^E8K&*P[4:IZO'-#I[+C^1(AX%]=GN6J![/?[$["2>KXR'^NPYQ5R64E M9BE=A6IL\G:]0-..VUWW<"7;J?56QBQ>5MCQ3*);LZ$RUIMN;\W#E6JRS1!V MR]PHV1)?7CNJE9PSDV'\>)_,(C>:]Y^:;:7B+'KY1+E@XY0S3!ROC#KY?K%3 ML&BFX$1'B<9TWE_DZ6'R>.4B-F/6)28;4^QI(9.*RD)KFA&#*X].Y(@3II%FRE6<[==6N39/=IBY,TP=OWTX+S>:&_)I MPCB MT5R-C#:X<9\2T=+#XP_Y,26.>9P9-;C 8'S@WQED2B69I,U#FP^ M042937$TLW,U5>$?X>LG6'!\*".(96CE>?'DU!L+@YV:6!%;X9MM+.*?&W9M:D M9L>B#-?-R%%=D;A\,NNP+HRC[-JF2:DN19KMJD*O&F9!Y[-6LE*C_LID8;KLWG MV.B\7.;*+?K8JWEZ75"\FD CP5[R:U89NAU8CZ:*T+)U.H+7VV->L%#RANO8 MAW$@8,'#QD\P0 B6J185?YN!G MYUI>@<4%ANX84S%X9DPK]L"RG<5RSX#4J3V&5QN)\#S79^ M&(^&,3I)];)'T .A2P3HARBI1$31+KA340=;A$&'[19AHB%ZZ"YHIQL8T@6C M^CAJ@[_X93(MEMN6R:#3(W>+.=4-*PJWY(/\M_>O7WP _P2#(HZDKK9.&1AY M!7STY_ <-OP>]$/+FF @:($C !/=T!T4.CR"G*RYSBBHA>YB>"]"'1""*,$- MR3 ]YBVP/]C?7M#IQ>W);H ?_0SA(^@JC%\9@*PA06Q7FX<'\:MS %Y@ 9* M2=I*-G0-OB2"@;,F88U;,'$190:!G^K\6MY;L^]E+#UQ*2[ ML<=TE=L4TI5^U3GGP$T)FY/^%6T##C4&)WR+1&_YIT"_=<#N]_O-I E" MM-8%D^L^,DR&RLURJX7SZ]\Q]-&AJ,1SAUP$,V$8!9S?Q8<;G)3.P>&#E]6^ M=W8LKR4QBNZ.-QR9 ?"U(,.P8Q:%03HZLP8?B'LG)YZZ7;+P!;D[EN\F@3Z:?RN.)H.)143/&ZZG62;0O@&9- M** MW/ S.L?)0H<:$/%.6T]<*T?NLBVZ7KA.]X+_^BF!XZ!(.J0H5=4=\R_" NJ' MN'4:N]-RD1A>F-)?_X?]XT WJ^4@])*L1+\/!"/,3.=OP.\7(KO%#A_1)$O. /B;/=XT/$? HQ M[YPS\ZJ1\D6A_+> Y?I#3_8L!L_.],B%6*PQ5)&"^3E*5X18ZOT .Y?]X(T MP= ,$(P6!)3BL,MPN*H:?V?D(^@J_/#__2)_?1!@Z8=4[)ZH"^5ANO$CBHBX M/T 7V(7HZS7U*FC@>"FV=@2.SU,2X8W9O!M2\N<1'%-3[!!\'[OC;CK[[IV@ M<*?K_GTG$^U?7P$[[)HV#,Y_@;'Q*E N-":6"L Q7YTAN7_N:X^2?2E1Y^,=Y0XS=N !V3%G2LCH M.3''=:U$IUQ*56FFVW@J)LQ%/95_XDP4Z@H_%17T,\Z\VO9 MM]])D(4>D0NFD=[EF5]+T?Q.U/[-_0+N*]RIC=;?T, /#?S0P \-_-# #PW\ MT, /A*80I-R-O4K[NS/G82^(J+R.NFC\6T3_#)>/9E'B .7#NN;> M"=T[H7LG=.^$[IW0O1.Z=T+WSIV[=[9ZS_,VD!\\:.@U.5^N\Z6M 0((DU.U M/5\/DP"8?U_OHZGKFO"B =B==AN]:KTS83;+M3:@8X_RXQ(.X8#E/7@DG:)" M/\WURGM^NE0X60OT(\7"#;Q"Y^5"EAP)"7NVYN;Z@DC,C1Q-V Z0"TDD%Y+4 M.;GPS3U#L*\V>$='AQ,)+J3]!>9PH5$(V=.0!R])6KXC/A6IYK0Q-W:@@V>#6A\?CR=<4PO]!HT1N-3'E M.4][!=Z^S0%5OC>R>7 FOL !YKKF3C7S9VW!&64:;+CCS4XS1'?BBZ";:#:, M"1#KCH8Q)55%$Z\FD@9':J$/>1&.\S(M=\"._S0XI,N; @:W!T=M@9^0D88F MRL#)[=+&P=GU[B2P<_N_IV$TR=@#%?:I/]\= M[B;]T$DTMC[$2]#P G2A1(B7X.$E_1!.#P@@6D(Q%DR\A&(LF'@)Q=@UT?). M[_^KRO'-@+!M6.P6H,@6V+WP-1V+7Y/H-\\D/0&E2TSVB']T'@-)/5!W-8^A M,S4D":OI:, WHT$KOG9BVL>G9C.$K'<+UCOAUPGFB!/\(9ZX)Y:ZX&2T%\<2./D OOR/*FM2U%>"H5)JZ0NT MZ6<0 !^#E_PF_@ Y;"\NQV$!@^)-HH*)P('A$D$_9(,%+-_]ZA&]G.T&1H;$ MT OW=_2]V/\HWF"H]D"O,5*E,1XTB92NM"8?B.\)HB']12Q_&.'+0GX_$=T; MR9D$A2LC"N?U='M1?WP<-/0)W-FO?XE(C,2O$?&*:5J M)/E*;*#(M,@3'"YSUN8CV3WOY7"YW&UWX@ 92K:3M!<5LKAB*@[860)R.!%+ M7RZ=,P!6Y2-OR"A4?%KA^0;Z?W %58 3V'TKYT*BZR=GI7^IIN*SZ]M$66L\ MK#27!$\IRUR%2 ^,:"8O388QJ*S$B"NJ*B&[A^S^0]C]JFK+^]A]O![46';% M3W&V-IO&4PNU/>,=P.Y @MK AC8K&0\;G3,)A>@FO+,I0+R'D3.UN6=5!ZL9>%]'',/.R(TB<. M] GXU8\4/1!I:7XB$>HPNVD_)VI+?C"?7S?^^C2V30@.:4LQ&&];.H9C.'SO?L;2A5AT=_9]\)RJV_A-_,%*FJ#:(GB#.=4- MRVW#@OQ39@0#;"I,4?6&/ >T U['JP\!JSMQ(Z:2B/% U/ 36&@RYV5MYV9# M)X*U'TQ$/J;).?,*GP5KG1Q-GFOR%>;I8;':(E M@&C!'^(A8@*(&"#'PAJ/ .(%R+&07X*(%V 8A(@)3I7':_KQSTPU/Z^;WFN5 MQ\>SC0$5Q>XIV_A42<=%T]3/*PU! \=7)JX3#^F[*AC*28(T'TG&,35],I_= ME=P!"Q!TW^2"^KV1>,/\\Y[9#N=E=<"@<+$,"&2-!^QP-VE'&@^'%;QXCP2, M/BY)_"'U;RVFNZ7^[V2QG)Q!<)G$Y:\P.0)&V.==S7=YY-?(T'L!^KH] M!\\2/M0$=2^>#D>2_A5M VIXY]L:^JHB[6J*+5]11'_L #61V ;:D[7HT)Z/ M]+$2%U,HH:I;#)-MW()\"2>?)DG[\+2O8FV'^K#H4T@B$TG@-C/+_@(3Y(/;R<2_B'T7EH2W]K/@[-U-!,#;J9>NM;*S#* MS)6]P($Y9VCA!>!^"YCJ^I*OZK7ZKH5M2,-TW<')!9VM,2S/V?TB".F_;\)S1L0\/V!QBV7R0=WC5[Z^O%0R/-U-NF8#@:8:^76ASSWHWWU$UU%$8"][>2]'6P *E0$Y8/JLGI6"N[E& MDO:+^7YDS&?W+4F3U//,Z__SII+9O5-YB>TD8M&)%'7SU_DQ>/%?7G7XC>D/ MYTRY70# MPPJL\R6)!Z@.[U<9QQYB5T+3,Q%,[9#ROSPV-:" ^+\=-GLR6QIED6M0$*@' M&=/>1[_^[;B=Z<98UBU5-;>4R_][G4+?H]32UW))LW2NQ6!%MIHKU0OM"%:J M9Q^V2:2WWUZ=[3!MK,-B6;:> R*0R<&?VFRUE*,[X)=\J4[7LR6ZBK4[X(,: M4^^TL2A%L'=*_[YPET]+^H^OT4T^T^W37"'FA%,6@L2 M^*(YA37JL,8;7&3^;W-X:9F[D[Q!XB()$3WL*N"*B-V'AZ+EA:X"X'84?L,5 MV']C)/KFGV?2Y$ H$7MZB_="]Z-7FA;P_N5;FQ;C)4&B5$9*-PU3JW$-':>' MQ!#_Y;+R=F61+:2FHV6OH/#-8HSE93.V'DQ@6XGG*YN5QUQ[PX\J"HMSU6K< M7"PJZ>:0/'YF)J'*Q<(X->42FKRI&OUFKU:'F2I'*Z,]BFNOM)*ER&-\LIA6 MHR4FVQS&CE>F.U&]DLW$HDR!5*+J,+_JC?#F,'Z\DI02G+0<+QI,FU">^($3 MUS+1)E \CE96-TJ^%HL+388O+S-9MB K#$,/DR>@I,J=GHYO'":J1W'>K"UK M=:(Y3!VOM*)V+E9O=DJ,G%+;/;Q@+(7H9)@^7EDV*-%2#&;#5' BW5[:7*\Z MA%/LCR#?+BW,)Y&616Z^,(8))3OB>V/G%(Z8E39^I*:MIB)%19)8&SDUF9T M'!T_4[*SRR9KR,I\W95G)$4RO2E<&7^^4JFT+"97801NPS[1E%#L".O,26S& MGIQ:EFJK#MX5$YWE.!_5HOSD%#9U+4MT'RU>Y*1LTL&S_"RV?H1X/]JGG.*: MMB0(-:[ \ *[$JS& N H=KS/?%TK6[EAI=&"DRQU9,!>^4H]P$K#S:I^5,TKVIP$;Q M.:D+[4)Z5:&7#ECI[Q-H?5"'ES7;G5Z*OC<:UDI4?MA-C39(H"4:V!I8;WO5(JA, @ES\$>@(T(%\51S MCI?3A3[81NMY#QS3E*07AA+7> 2\"]2GSK@O1E5%Y1?/I(YOK%IUI;C'L[' MHEG=+O3-L0/>( &S:0'>81FV=#G]\.5^+R^7T.%OMU^^:1.4%/60" ?>!; 8 MFGR($R%>@H<7(FRV$4R\D ]D,D3,U1#SSKBL=Z\$S!?O)BTC3X&" M.F 'O47LY481R7-@N$2O34^P!#V:^89RZ'AV4U;AF7'>1E& M4_JH3N&HW6:232]G/2=>8;KF2!92@U)M/6L"NP9&72-I_%P;WH])MEN2-4!( MXF*2ZR>*J?NH@7Y-XPFET(6D4,Z6ZF!''4=25Y([W_>$#&*2HYBH5.DB4XF3 M8]6T>YJ4A9Y@..0D$H^_VO+WNVM7 $/)4*&Z:X7JTL(KU*IN),^@'M5Q]!-B M3&EEUK-Y6];QBFT.9#V;JS7BCEM0345BR34)AF9UOE5\T9!AS\BPY&@2V[#C=4&QXUJ4; EQ1QM[E4QP_O@% MYW@&4Q=#8SS]O*[#?*Y01;MK%>T&8 AUN9OJ5?,D*0EQ> MZ1Y"*F_&#UW^ZU("T,R)0WEJLJP%$$R+2S4[NY4 MN[N=O NP&G@$)>SW74D_3O/;*TDBLQ; 4I?Y3XC"VB+'/1H#,\;8TPJ['CT] M.4QW,DRYJF",)(XDX9\[TP4;KCC$5KQJHTI 5Q]4/6#*%^KQ$:J$YU3"FX\W MOEVNV2;Y]LO.] M5? 'HRCKX##[C#1&_P,KVO9BH4I0\0?6O<";4PPF? ,MUZ472*XHQUL2,4OW M"[6>5U;MCGVE BODRFD+4TFT58D=[V\Z"_:'/I!CI\_*]*!-MGW_5.#X1Z<" MD_&']%T-F$:YL9A;9H0QFBB)6.W$S.E+3 @.F>Q+F>P>9[O?U4#NR\YQO[[$ M_D+Y_*FI[7=&(_Y)Y;2$Q61-4&]Y J*&DA,TEWK0-Y(<^ M&02]T(R>>.# <\G)U63@3G>;"0:WP7+PA_:$U/\3J#]UQ]3_G:R1YQ-[MA%A M$XL>->S\#HIA$.G]%=?G-\G.>2WB<0>9-A_,6;A0XHV?D'TB[R;3<*AX=Y,< M,Q7"J!IBRBQ3O:9;&4Q$8LG$F;2;D%=_)*^>=>K?(:_&]GDU-DPI52/)5V(# M1:9%GN!PF;,VETN2.\.K1'Y=G!>F3PNN74X;:VF^FBEK6,6?@+R*)R]8Q1], M8SHT&VXJO$(PA-9UR"8AFX1F^/TCM03>';WVM!4;;N>:(^%"Y M#:AR>T'_<\#4U;MS22,=E!USID1#!93UU,^2QGC*9UXWWE$ONNI/APLV07$; M1?S_[+UI<]K*MC#\_?X*5>[>SYO4E=E(S,DYNPIC[!#/QL[TQ25$ XJ%1#08 MDU__KM7=FIAM,PC\U3KU4JE+_9Y5]?NKR+B%S)SYM,("2!D 0[ MY+CN7LU'0V? ",6,?N2SHH" T#8/V!:8\(<3-2_,D.T;' %F^U M/(D\#8CEDG@; Z]'7!(LP.Y(?^VHD4;;(LP@\!O8>YUM?5S\7FB.!YQJ)%(C;T,ZJ&I?4^ M^C#G&@Z;<_G& M&Y9^3OHMXMRWV[>N.[K*73^< -9/BKIC5_3JBEGS&,3Z%8 :K,HF<1X-G;AA M7Y>J_MLWV.'0J6S;NBJ?=3\7[:?LZ+*5KWPY/?BC&54T+$N%:2[F:W")#,H! M)?T_K3_X%!"*+ '$,K*D419"RD&4.;9I H&U1M(W6"FQI,-,<+LLV;XCU7H& MZ4CU)Z+[*!>DRTX']N[(5+ZX'!)CTD'2(H @"U?-04^3FEJ'>"-YVO:F[H39 M$>!F >F_1LKP%T;"9O&K7R>.7H? S"ZV;:)-YJ4A_K,T?C=KY*Q:Z-PTW=YC MIW[K/_Q^_)8CY4*I>:+-$SH'+M%1\."QS30O8OL[\LO#>WN M]*9PDP=[RK*7$CC394O085OJ:VVR0-(L;X!DYGF<:W;'FJ2+.[HA ]O!0,$\ M-^S\XM=!I?OU]O*NV+H\,T_/+ZJ'A6M&A> 0DW;5FW/=/5ZFI,!I4V<[;FL/$-=R: MD.8=P](LW=#,N%P?&EX/%..C 5N"F_ )+=\U+.*Z\$'S\%7X%' +<0WTL>O> H%C, _W^Q M- 6*">[G3^1RD+V>DER$-_K!MBBY4I($\O$[L&#D!'R_2TP3>0 ?"+8;V$TF MXX7XPD(V&G\Z\DF2Y-&V([2QHB;!>P]Y)YE?,,0UP[_M>$"5!J&TSY@MEVPH<7@S 3GX"@, MF\$^8XTCIS!QSQ[21>G4RHTPCE3IXCU][0%6]!Z-237[J79Y=$[_5#Y]8.8Q MNY&$YK$=F,<.06GB)F2)3!^'4@L@&Z,L%YZD Q9-4#=LJ<'[F9&)M58NC0V% M"X0_Z,8LG?!@$RQ-(M@!&:2:&^(Y=AU]U/2H;JPK3*SWC0XNOH/ICMY8.#6' MDF8=S6]FG@17\T&V)E0*>- [V='F?Q*->T(:P<:3MO,Q.,P>VQ5O&*32?$R7 M'+"^0'16TD?-'&HC-VA[7(2#5,B4RW]+T9\(C0E08D_+&, 2 M;2W97J&UJ&V)I]HHNG HBX#M>K1 M35WZ?'EVU+@X:8*Y>U'+A%T'MK^\B\O;>E.ZO029<'%4OVC6C_"OYN59XXB& MY(\;%]6+6J-Z)C5OX0NT^)K2 5YSV[BXJQ^E:"OO[RS-;QM@N'W8X*HF_-^Y M2Z1A!]MW0;R"A"=/.H$;W9[&]3)(X. 3Z]L0[60)B4LEQ($2;]++143T95*T M3,@,]B-81/I[O$+Z/W"Z\,X/"6FA9 J#\89J"3&EQ-+6? GLJQDO#$2.1FVP M^U:.5+*Y3NY>*RGD/M_6.O>M4JYXGRV4L_E\2>F4V^UWC,FU("EK_WHZ/.Z5 M]!]US2O^RO[LG)Y4#H9H7HY?F$J/CWE]D#PXOOO\^^/7]H.$/[]7[\OB5 MZF/G3^G:'=CU_@,YK'Z^.]*']2X8JA//U%1=S9[VO%\/M>+M0;5?U$M>Z1JN M+(Q?V7^\RYX7?U]>W9TTF]W?U:]71E/'JWM7J_?W_[5+FK&$H=SU1F)ZZ\L]Q^V>E_KI.[K\;U MZ=W0_U+MPI638&I\[[5^V^5O=Y=?_$)E>.'_+*KXS(DM^?=E]?K/R<.O[.CB M^,SXTBY]/VOAE1-;NLMW!H63[[_<^NFP6/QU?-'T#XKX]LDM^>73+ZU:Y];( M%D^JZOGYC\?BT]GPOC"Y)>]G^>K8.FG=/A3OC*>#G]9QXW,7QYM-7'EQ?O/' ML;^?%+/?KAY.[\ZK1[\^]ZMPY<3FS<_?3^R+4N/G7>W^\\]?GXNW9S6W"U=. M;/[AO'-_>/*Y6;E3>^7N>7;D?[T8XMLG-M]O'([N/_]1.G?&KU[Y^Y^>?O/Y M'*^LC%_I#O/NX-RJ]^N7QYWK7->N=Y4'O'(,3/>5MEK6\DKYOJ15@%&4 C"* M6B[^'Y\-951!E?=AO75_UUZT+X=_;QX*#[JVM-41KDR_]S6CY_Z M/[+DJ-#5>_T?MP\'PVF,DLOF>O7K:J5Y9UP;UW]^/7TO5/Y<3V.4AZ$Z_$6J ME>LL.2F5*KFB]?/@Z7HJH^BWY"K?:I"3^NCHXM"TV^/A-$8Y>CKX4]&^ M9\\?:CU%5_/?[MJGM>HT1OG^6,QF:]?G9]EO'?VT?$?4B\'I5$;YDOUQ5&_6 M>\=WWT;7^:)?^C;H%(;3&*7[A=R'%R/ MBG6C5[KN]_POGO&[.XU1?E^3/R7O^.A[O98U3O]X(^>^\C"547[^4+_^J73R MI8??FGE]K_YL%/3+[C1&.?NB]G[5L@^_ZK\;)?W@-O\UVS6['5]4W/,41"U8DY>TE^UG9C#QY,<+KK1P3NT(#J5='+Q!=JC9IAH26"EE,D) MM*0/+4JF),18*O$BQ%@:\2+$6"K1(L186O&2+0F\;!XO?7B*2>:*L;G3Q]>, METED8%ZU )CPL"(/PQ@?Z5]8@/<^*Q_ 3Q_V&F'"W=Q5O @!ET:\@( 3_+(^ MO#RS\\C"*.96I^QLZ C^? &^A>D>LV>?3)M[HB@O'7R2*VG9M2BT:04<;HJ/XJ61!'"NQ6_>'.!B0&A[I MNY0V7'\PJ;R*T]0XF,(D/-.&V0Q,XN(;QR *7\-[WBL?0,?Y Z'B7D=]^;T* MI<\"6_S?6]O3S&4N7$6P/65-DB^()[F:N9*V^(QKMMLK>56<])K@7LI0O(H^ MV#1"]]:[8(\=IW(=[[X6MB."ZZB.H]W&@@9E8<_JH)T-;S@6_-X,VA8=\JXB MP751SS)NBP=W*ES7>!((A3?\).?;"#*NM;TK[5GJ:TW#9SS>N;0N^A?F=T?E]G\5VM^Z;#JN6I++ M157(I,W*I-).RJ3EBIU3)I0F=BJ]3YU4.@>AXQB:&4M]T8N"MJQ6]TNC6S/O M'BY;/WZ?UO)G?_)_-B]6 +SPIBGR9:1FOS9_'W_5[XI7V<8-Z6;KW1-L+%$! MHRHGYP> M.G](UAB"IKPO8)2IJ,I%=8U!)B&BTL5^*0"2$%&I$%&;#$P]2UQUAH=?SZZ. M;_H/VNF?YN_/U_G#T_HUB"N,/RER.3_I'PIQ]1J',,6LF (@\3#5+@%)Q*SF M2YR9H2FC?C@\/:PT?CZH=\<7 [-Y=/I%Q>Z\FPA-"=F3I:IU ND=H>>%0:S2CFY4IKG6NUX)521ON(D MUN1WEZ/TZ6+\F84(25F0 UG0MGWLLKLI8;"M2H6M;SS-4G _@EI4E%Q123)% MUOXH797R@ZOA4?V@=&<7->UKO:=BF_?X<7,4!%B+(UX$6(LE6@18BRM>!'3(K:!%S$.9\<0 M)MS-7<6+$'!IQ(L8AR/&X8@FM6(3%.)R4LTT*NZ&+B1TO82S"7&X8AQ..G@*S$.1XS#$2Y3BL1*BF<%[-<8$S$.1]"1 M&(>3/N(0XW#$.)RM49\8AR/&X;R&:]YXGV8QA6)-F-W^V:M\_.Q5?CNM&WYY M3^#AY6K?ZR/3^-DX.AN4&_GM]X;6VMFJ>W+>TNK&0_Y/K97[H0QNJL$XG+)< M*HMQ.,$6Q3@<(8AV4!#-Z=G0.6U5[^])\^*NF.W[%?-NZ'I'VQ=*KO;MQQ_E ML'94+S9L'C]=9_X?S MO4YRN:O/QY]+-?_X.CWC<(J-@\/&YVOEX>Y@:/NS]IZTHXMZ/5_I9-4_ M1^=6+I<[*0RZX30CP M:^6I?G)_>3,Z*I]UF]UK-@VG(F?+%3$,1XB>C8H>,0QGLT&N9UDJK<;ET]?1 M4Z]<-^SCZIW]Z\_Q0_Z:#\,I9V4UIXIA.+L1I$\7XXOA$ZG;>)JEX'[$M.:W MT/Y<^4G4/]\JOQ[(MX+6^6,>.3_L:SX,1Q$3)X0\$O+H;TL9(.&7GN>58NI+,E!_(0F[8#5+ P>( MS(&-8&&:@36INMT'63F2B&D FBAMNQ(P!;_1LCVI;3A$]^ >S6-V-QWN!$"S M UM>3&:N_#[ !.=?48N,BQ?8T2X4].L$KM9Q;2Q)(\W_99+?OL MO_HC O$6GGYHVOH#Y_/6_F5ZG $S5(.2X=%5R&6E6W7+S[K!9O[ZK7]Q*]:_P;Y." M9\#;'ESPG@2UNE*M9S@>Z,/891\HW^-#_K_D[>_OFA]DJ6'I&>F]9W<)O-RA M*\"7J=E/%[YN$LU)W'-D('/9%KU$^03W$TWO29KD K4;;4-SJ Q*+!F4'0C# M@:G+J"(E;3!P["<06!XQ1XRH_EJ7.L_'^#=_G\NR#X%?$,0B8N01A2-P"TVZ M]"M3CX$@@,!X@"/)[;>C 4GX(&._\[M[?>/^XDO[U]V==GJL?B\_DN:7UFL" M&\&6@(A:7.ZCW[3QR@*V7<\KB '=^37+\X&NB:G26_O_UV[J[. MOUFGU7?_5BIRJ3!9R9U)$2_= NEJ$2JEH6&:4@N_TT$>(*,@^2& NI3,X]?V M@?KM-I(NOQHO&@)#D-8HNABY47-=XC%=:AH:53,&;!/N3%S&%##^$BP#M"W: M*? $#R\U'/C&'8 *!L-&ZFCP^5$S?<(>#18V7 G*&);EDN#I7#3(H.,#A@=% MJ/5QP71S6)1.W^>0 3R=L'W@K6VC V@GEDY@+=Z0$&L"!GJ<4.@J\(IH9<$J M#$2'T3&HO6 1CX,DPWCYAKB^Z5& <$,"38_%X&%;@I\,MK+)FP/!V") !9N MS&:7ZJ9-D0K^/^&KJ(9WX9?!WQUF/-%/ABL= U])2O;@F@E> V2-H9G2P'?T MG@90!\$,X-),4-H,)O M-9U:"#X \$!C%(&W.R3YL^MW.H9N *@D#\@><8F; M-@DL!]]&;5J\&PF TM J>6EMJO3,MKH'MP0 =T1:7KJUJ4%IVB(Z%P=>;X+F M.6',4W5)K0RJ82CM@;ZJ >4:WK&F4SLY%H4'LAR1]I&C#1'+9[9F597@LI7H MO*>6<7@V;!W;=?6T;GB%NGU_[+Q&YX$?K1/2=O$DTQD"Z++#=C=5P?F_?ZCZ MG57W;V%L(UP"MX4HUL"+]_J'M./80H%#3!O"+-YJ*]N'ETVG5 M.C Z=Z>*KQ[^N+T]]1ZNL2M'0W8@50\4*5A# M1KJ=^CW5!7B+JZ'L!R@SO0XDT#:X-\XNP "31 4JXB&FV5T?#&OFKL.EU*LG MX.N#I""R]-O7'/@"O?>^[7C&'Z:@!MH('790+E3/4N==IB\&0/L.+HPJR_%$SA]K(#1H8EC-J/@R-A^D; MA(-4R)3+?TO1GU&(/+::OO9T$ ,8S_D'34N3IJRU+BH9<(VCMM? MWGGUHGI2/\>H\E&C6;MK-AN7%U+UX@C^5SW[T6PT4[38]S1"8?LNV%5@79$G MG0 UN3W-(=34&H"UR#_1R(S[8<.+GR#AES2%7RQ:J2@X2*8'F2R(ODS*D!GI M0;#6]?=XA?1_8 [CG1\28D&A:;.D($G((R66E>9+8%\MR$=JU#^X)Z52L=4J M5NY5I9R]SY-L^[Y5*)3O7S,;]IX @?7QV>C9:1HG3PBWYS%8]+EL73<@#W4&M4SJ79Y<=2X#:ZYJ3?O MSF[I)9=7]9LJ_K#*W,_S;"MCBH3FC@2+ W=LTZ1.H00VC.Z[;A#2U"S-'+F& M&X4$+P7NF;T.F=6&+.F@0LM?08$P-/=(']R],_A/U7J"S:U#J9B\1G4 M4_\@O>?Y%'JGS#,G09(E%EL:^V4X<:WO!E_@T_F7MN\$R1B0.K9OMEFP66OS M^-*GU$N(K8&A:\.1X:QCNKEN7#%?RAL+,@ MD'M*@^ ,K1@#D$88U"-TL^E5 P4*,9@&]XW%!SV@>F M;3]0GSQ:E-?3T,_NF$3WI(X/WC61P%BV4". (X/I+?BS14R#=!CPR!-&^PE5 M$#3T8>DD6,3,UZ ::9,!H9PA^0-8'7ED;KUCN _LR8!AXN"*:2J"KJRO8: < MP.5A3#\DW# IAUMT;#,C72(J= \!&M \WLOR!;1ZS>@8NF9AI4#'L?L\(S%P M[%]L-SQ>/WL/&8R*>+83K PEF*1K/CR%PRUXL6<'[^WSDKTE7RI-@1RG&L"! M[U$P8FC>Y"E3SY;Y,SG:V3.O@&"E!C U/$12JAGI!F <+A]EP7+D-X_N0D9R M>6 :LRF>24*.KFFT!AI3J6'9-+RM"QO%+1[S/9_Q+8?7A-(AY)\@1SDL M/]=&$@LKVY&(7*U#O)&$,;H!(HX!'Z^T:0X^D+ #?D(G)"M3&P*UP">=(EP& M,>=@2)"X Q3DC@S,!98=4@X^S>)9#=CM R;H**^';\7'/X)L %G@&+3N"+_Q M.%$"*V+B:R@9\'Y@58=R)Z[<9 \'Z@76A0]QIG,\T"D>\ MJH^0ZFE_@(C!B)9@;Z;1(0<>N&&P;9K8 [.-E12Y*"#ASB[3&4#4!L_%X6I\ M>++!' M6MME!1ON:98%S)\!ZP13R=2LD@]?"KGD 7>OW,?,"ZV6JLZ_]LFE-R"[#KFP$1'I$^?H=02! ,/+'MP"LM?!Y0>\^R M3;M+F4EK/R(Z&?XB*#C(-W0U?1N : 6A>_9*L"#X+?H(F#=B_0C 0/A]5/7P M/\J9=:!_^)L7%,1LC/AN;! -- UMX"_J%6CM@:,&%8CVB$([C MPG7.SZ"J61$/+&*"^VB"""B*VCRL(,7&U4[3$@$1@*U#Y@L=OFN#6;)] JL% MTI+Z5/*._0Q6=B]069[ #7.FVXS =@YFIB"\Z!$M/X$]\ M'ZJ02#(@:.\R3>3"X%'X)&KXR--^.2(=]&JF_M9 H!HH>J?\^ 5S$/KT&S\# M:JA;UT0.INIFRE6U:'M08Q%T7 M<[ZRPBIRF%C!,*V&@LUYK JPW^"2C\$?\8UA$)E'BC#>I+,8;")(A;7@R0@5_2810YH, M(44I@S(+%WE.L*Y8D?J[91L^E!:UI(I%MV+/1\+H ,2#:%WP^0!/=7QD\?\A M@&EAZ#U6N1]>JK7 ]?:]\;C8UH8W*B_+ +WN3(Q*#]X)O*0-+TJF(/"21KQD M,ZI 3 H1HV;R(@/DSOG&--BJ8.<(J]@,BOGP"V#<$4 2Q3I?%C1-.XWR9(S9R@OU*] 3]MM M#;]6EL1C&RNCJ_F&NZ"K<;K:;@OO==-5?B5R/,5=?I) 2(S?7JWYM$M F#TJ M;G5]CPH[!I._5KAY%K9*^UBY.>"(;VW@$.IQ8C,D)9>5E6QQE;R33]]DP>WS MSFZ!9,6LLZ>U0CZ&87&KZ/Z!*BB_A>4,G -!Z8VLGWO8\=X(NUI-=HQV 7] M/!BI)*VV*4;,2Q<^;MC@FM"ZFFYSNR -#J"V")X<# Y+M4G'L()VBW+0WM3@QUH,B[6!HZ=N6L 'LC2&&78+ M;1U,FZC2'NCA(4 KC&VQ1HWT4%[8VYSV&74HI]/#&C-P&\K.>7(SQKNT]U0H M3])Q."/,H6&7/0>+2*;\G*L$3T]0LC.==.NNN&B\+#+O/-'0;>$^N51V-> D@R>EPP/WL&K M-,=C!\3M3L>%O=-C7^P=+CLT#C1 C]E$K13=*>>J=,<>MH/S\.$+@I;W.]EG MJBCZ3(D^4Z+/U.3R1)\IT6W; W@_VMKL M-#QM2T][[T>=N8,F&#K8<_0P,%Y'F[2PYCV4>G@#KZ*>TUNM=N>^2(KM^[R2 MT^[+;:5SKZG90KN8+56RNW$MK :+8>:T_D.ZJM\<7]Z .*K5I?/Z[4VC MMLIF6A/+F]-SQ:%GR=$F,.UNJAL! *49'OMHC84W_T>($ M@=#F%FNX',HS+6Q+Y?0STI%/QP%@(PO=&, "8F?"X6W85X5UR=)I\8M?W>\+5:P8'RGZ[=^T;XK\$J_C_6Y]W+E;9ZS6L_!JE=D1)2<0$0* M$*%D!!Y2@8=LIB PD09,@&C*"T2D !$@F@1'I (1V4Q18&*%F%B^SFWF\.Q% MENR6PFZ;/I<^WXK<,2"LY#QB.9_J\XB)2//" XC3#I:O]+#K?%6_>?I)V^G6 M2FF/J"GH?SU)4*\^Y8K">*NU;(N*U\:#JZL5P2G>^H9J&=,-A%47+Q:VL]V% MU8NO.H!74&2E7%@I:^13316;8HVWQ1O%?>0-M2R7E?S\NMZTC0Q,4\Z0JU_, M6SL&G1">S+5H4I>U;M=,FF%R>X1X;& XYM&\T0")T*3MQ&U#9YDV-QQX&^1I MIC>B#].&^*@NL;"YM4D;W^N$CANA0Q1ZQF! V% <; )M$99',&\>@^?U'&^,,=#AN,(&> S Q MSSY9)Z#[+K ^X4_'9_A]$LTB<@<$H,/J.:<^;^@09 MBVK*R<5$TSJB)2.UP)5J\DK77N M.YU\\3ZOZIW[X68W /P$;+AB(B48Q MJ"IJE^L]@X135''0)M$-.F:S#WX%3KM[-,B03_<"SPC_?UKQ'WX5%/_)? QK M3\/33@!,M-[:K!K3\.C7WA!7@S,.^9B:+I^1R)J#E<$D_$2?><6G/_$K0J\A M=!R9AX$?P#\+)T EAIS1>7BF.6;KX=./XK/_%KPB4=Y(7T+'L;FSYK&-#7J* MY@GQ>TT3YYUA)2%;5^3S3.PY-HB)U89.&]:68TC?-1_] M-49XH^HYJO?O+1ZTIF<+VYX2])KWSHFEJ:U/BVR:@%^>/UJI1MPV539VEV6I; M\=6!8+<5R7988%\URXO/OC"_Y55BDW?;8]NF8V,S+%5D2V][1BZI\5Y QV/:^_UK!3E@V M<'>.,&UL%F4*C_D*TGZ)5;\'I#U]6*0@[9>9::DBB&6)X'TA4_RPX@!0NB Q MQAI_[U2,IX;3'^P.+WL%6[>],W&:=.B;+?L+"2 $4?A5&5?I]85>HHY*.;E2 M6F'GA,V$% 25KXW*MQX]70>5E[.RFE,%E:<[M_9B:ZJ4*:_:FDH/@;_:=-JZ M:S O5GGBV"X]6=0QO-5%M=.PZS?JZZ_:W$JS5[.4="H4926G"']?D/=>QK,* M);DX91Z\(.^W%,Y213@KQ>&L;;?!/N_)L@UT5GSO9B MDV^"7#<3?=KR)K<=:GK-IG( <][5EKO7;?L+#3(3TT M+\)0J?7K5YSC2T]<=ZEH=UZ12X6<<.??#)5N)JBT:BK-RB6E(J@TA4&G%6-: MS:QV\E6: +#SQ4\W))C,$;08!O/&D.W74\$H';=,1?D;+DDJ'MG0TTKJ34)/F7UU;>"Q'>6Q/?R^)XBE_,BX+ICH:REK:E*+J.(XWNIC6#-[X%K>YH9 M&X45%56)HWSK\/VW+=@W'/?:]G97G9-1Y4)IY3D9P1ZIH9<-A\ZVO=U5LT=! M+N8%>[SMV%HQ4Q*AM=2&UN8:@U%MO6'I=I^LU C<W[;=*Y M.-/XMO8MSC2F)O+U&CCL0&SLTNL11Y2;I?Y)(BA4&FG2ZO8B$D5CTEO>?6U0=9 MLH@G DJBQ&0_"ZED=?4'Z@61[RR1I[Z.ZAFV5SZ_RCX!;X*TMUX\M3QZRQ5Q M<#'%4:IE#B[&4W;17@3Y"KJM/9EDZ).2]1IK:5.BR82 M6Z1C.T0:.#9NV;8D^!@D&3WM28Q %+4N::[?>EE35+F8%4WH!7FGOY3K)>1= MELMBQ,)^QJ%>-I$LL\(*"A&16BU=7ZW?[MIS/MWG%&NB*&C;R$:ELME"F\F&O:/IP%/KI_,YP5OYTQ2&M)?S.HA]=1ZIMXW'*:^TX34=@'= M",%GRHX?6P[1'@Z& )=/ ]LU/,,&"L=)Y\8C&7LF5S3TQ<&E6LNU3=\C8WM? M-;$S_LID"],%3>R^Y6G_']A:^.]K-$D?7DJ9G$!+^M"B M9$I"C*42+T*,I1$O0HRE$BU"C*45+]FYH0J!E_7@I0]/,]1IAP-W<5+T+ I1$O(. $OZP/ M+\L7#[PXL+DUN#PCE+Y>F?YJ")2320R=X+"-N2!A!?N3_R9VJ]LF@N"_[Q3E MW0NWGBMG*NI6"_J?#YOY32!IPN*<)2SJ4<*"@2^GR.P/3%TDRU4$)^T")XWG M YDL=9LY @ZVA ='1FNYQ@M'^/7@CA68LKN M#W$P(#4\TG?W81R7A'\LP)+,L6TD0(@<6]L9X&T M:==,L- N4<>F6"C=4R5>J(-*.;E2FK3A]B^O5:2O.'%L%_N)V1W#V^5(3KJ8 M8V9(?^LM*+<5\]_ZQEY 4$+PC>&?3D1(YJZ[M\P]TPE@ZSM?@]56E)7_-4YR4PN9]HL'LB]R>'0+)A)@1#6;3 R3!7(*Y M!'.)[LVB>W,Z^$IT;Q;=FX47E6Y)D^+6EOO5=5=T;Q9T)+HWIX\X1/=FT;UY M:]0GNC>+[LVB>[/HWOQV&M8J2EDNE47W9M&]63"#I)9EI;(/I\UW@!=VLXOM M6^K>7)$5I2B:-XOFS6^L>3.V\)_LUK,7X7/1O%DTG]T*^5TK M>$@7:0C^>;O\HRIRH5 2_",ZSXKFS2_US++EBNC=+#A(]&Y^F0HJ9V4U-SFF M;?^R6J)WL^@_*_K/OD)2%!31@%;PCN"=%P5*Y&)NY7$2P3ION?OL#O9N?J&/ MIY;V(?4F6"7Y*):GM^X.=:'Y.6KST28"P!(OX&/0>5N1JF0_I16 M*,G^)O&N*"&*L!NS[7P,\!!KP3+Y.%H^,,&+ 6VB1E1 ^L"=+L/-#.2B&D $C6$L2MI5IO?:-F>U#8-9-HCG(MKTQ"LKAGM;1_F9F M%82:#Z1.B ADG^3:_V0&5=?EC)H/ MB344. @'J9 IE_^6HC\CHHVM!KN1QP"6:$C.[DJV).??+6A/Q+&"5*8JF>(8 M7^LVGW=C>4DAJ3E.LON%E4M%ZK'MW4I<^79T>-BY.F+#4N:IFP]GS[RSNO M7E1/ZN?UBUOIJ-&LW36;C?S0>EG"V6*H5* M]AWCT=6@90+4LU5R#56B8[BVA6*#M7#JV^,MG*2<(@- U )JPD47Y5=-8 :\ MPT+09LJ3 C1N7AA3Q*7A 7WJ\:,?&>D__QC_\G.@@3:7K.!GJ4UTT&4N;*LU MDOXJ9A0)UFX".F7)=D!/*7_+4L>Q^])?BE+.E(-?$33PC9HIA=]TX'JO!^9# M'&)D&E@U-%L0$_ 3/&>9F_)RS,)I^]1("9;N(C+_*L>7@@NN7QYAE@#WS>R> MOTH9-7F)YO1AT<%%LH1LQGXQ >Z@6U"+(XQ,(&M<+8@@OA@-[#3-I.96QP5H M O0,*[Z>2@1*]D@PM1#TFO[;-QC'\&4IF7SR2FJ^,8M-,R7=L8=X(,SR'-L, M%YN1XF!353#$-1/9HFS[B F& 3]-:+K%T MPLCG$?9M.R, )QD<@#L'E@7P_1]*1/.%0)N"R\5W 7[]CJ9[/I <9]^,- [< M./AQDQK:,R@PM"Y=2\38T1O@=4HA*[4T('YI8 .UT_?EP9[_^QD@I0C*Y\#) M7OHF &E?,RR$IP.T;N%2.MJC[5"3O&\\R;&/ 'P=61.W #OI:\"4 #;82,>D MD%P5[$T;V#I Z P!.86($P %2:F.2GI03_*A5U@I9PQ\^F)367*;R.EB;V*63^JV1^DY@(.EGJ M$HLXP'NX>JT-L$'ZH58[D_E+7#C&+THFF^ 7%7 O;X(7IMA3*87^#0'8^:@ MD%JIL,->]Z 2D.2HGF#07^+",96KQFW'I6$^ 4OV:$"L[\3,7,"-:^L&R.NV M-#3 -,:G-VJ7-W1I57/0TZ2FUB'>:#>P8-*=H.8 R? T()9+ KA/^4F6ACT# MH 9. (@0"BTN)IAPNTV2!6 M^:!V)),1'C@141+-0CX+$EZ4%;@D+$38DN)[@E*8O=JP2$S M%MB(0\0D'LAGFNB@V9<,QE2G@@GV4F;/"35NC!DZL+"!9E"0GP+DT$_[?UI_ M\$FJ,=DO2PU+S\B@_ )EP%THDX'*]AVIUC-(1ZH_$=VGDNVRTS%TXLC( '"U M1=B[0MJ/43F20)P#^%Y32OL-5(H@7))D/_[MA"6T10,=[VN3E@<$WP'VLZ@% M2?G!UB,IA5=U ). G]\^< 28?X 7?&1*$7$)*W80SC:HN/<<[A]D-,D83N(7 MT*]!0KC(U[G7XX(].Q1OW!Y/QA^6-]HFE4A/L[K40<''$*,+3(28LG24J>Q7 M"6P(PC7$>&"PF%UM8'"%: -O#0.X'$ D87Z0Z8 MES&LZVF>3UT[^N@).L+? VC@,RS;.H#'@UUDH#] 0G&-^P52IN;]_)6K&>49 M#DFXYON[2X%EH1:X@Q7J)345K:E MW[=*17*?5[/M^TI>*=V7M6*YE6UWE%P^MZT(_<7EQ<%)M7HEG=>KS;N;>G-3 M8ASSB3UP?:^9&@%(WY"![8"$M*1CV^DS2T3)'EPCNYI^&UY=/VS<'E69,=S& M@@"@)/9=8#MB-@KQ1+?$]1@X57U0LG[

#M<3U 1]02BGD#4 M$XAZ E%/L*B>("X6%%KZMH8*@[7(EIA1XBP.R\F239VK]TPE?DAX63*SZ0Y: M/"\4F6?193.O&&@C#%I0@S:\VK0!0D QF"M&VD&S;V "N;Q'&E"SG\YN&U?T M3^73!ZEE6SZL,*'FIZ=8+)9HAFVR7(GE&FU:"1@M%6T*V"I&"V@?)1\#5>8(81)9@WAWRW?!8'/A ME> OMUT6YJ,A#SL$*&8:T*'&KP/3$-#(P1R4$Q"K1S?!G$&-R0A8E#$2 \#2-G2DQX\4!FPQ@,- "-*K.:6C9L>&SVSD%/XB:9[Z 4.%60.&%NX\MV?#S]A1 MK_.)HUX,>CE%?MWLH#C_;!EHKV*O>&7,HK3*"KM^;(317DP[2T]87#S8:Z&= MDLT4MMMN>,5\A\5"*QHV*(ADCXDDOQ+)F^*V04EIRP[QLGSBJL5HFJ&PH>9) MN?V<7T6]I;V875*1U?QDXZ/=(_R4=T46G)!Z3BC*E5DMP';$V8"Q!8&_+4CG%4]0VPQ];G.'@AHWCJL==XN4\F)5<33O M ,,>6(QIU"@I \-JV7HOK,2<7"X4]X#ZMZ^O!*VGG]8K^==,O-F^1[2,GAL_ MGR\\(V&+IL,6?>&L1!E(>]>(>/OJ2)#L%@=HR\7Y0L0 >[:O$5-(+H)75JQW*Z5)7MDE!X^_HC5= MP4ZI<&$G]G:E$"J]>G3;,Z VD]?>]B[7P/)EN5@I"/=0$/Q;(?B\G"_MG7.Y MS5*/U A=:[D7IN_^RSCA9-&J\_9$+NV?&%BLKK]+? 4DH"'9G"38OE]]F3N]R=HO*=6LY==5:+C6 M%Z[>F[61EY(V[Q59+9=6?A ^[; 1'N&.4_M+\W;Y?'ZG\W;+*-+F@G;.Z]:F M.>$S[K8)OOD][ZBMKLB5XGZ[EX+\!?G/J9C.%M^DJSI3PTX9A[!N;9L7ONM; M\%VW))3VPNRO3![&VCT>V0FU+9AF;Y@F5\GMO:>,^^7XHCO>5-NUZW 2\);7?7)MW2=^=Z6 -J[D^"Y M/6\9))@G#3#94^;)%R:99\?]<_Z*Y?LJC(U$7FF#A;1!)3W&_];/:V_F5'H* M-[Z&*I2LG*],EJ'L'N]L/U:=1H(1G+(Z3LG+^?*,41W_>!IL+C%<].6KST2( M"P!(OX&/@1.:42JD/V6^:7)H:7S4:8BB ZY4.1YBFG9J]%7@ MI]-%')C:R/:]CQWCB;3CD.+[X:20M)ZF6" O7>9XL )%",&LZ5*>8(YZ(GB M),..<<_LP,BK%L\^XF-AC4Y?,Q/6&/\*SUQW3*)[KN3U"(W2PGN7.(=-KU0^ M21AHD0 :?0ES+[Z#\9LVAFS:-)*#!KN&UI[KP7_ZQ((7V1W)'O CTN?CB6% M#NG!;4#"O+NE+ &4]9XT< P@#8 ?F_Z;8#!Q&+H VQ\)SS;)%W-Y(^U7-_$ MP)+4(<25Z9=A*"D&]?7#V22>!VR$)$,QGT&2CPOA#OT_%/%*IBS!2DQ67@G^ M#G#I*:R<.*[T_[3^X)-4@]UJUDB6&I:>@5W1[<,7N&$/RS$!$*T1Q4:M9Y". M5'\BNH_B0;KL= R=.#)M(PK[>81/KD2E!Z%O0BK0]-^^P00+ K1J#GJ:U-0Z MQ!O)VP$?R')XD$$;_@@7/M <;Q0$"R4Z\I0$8**9A](G=V6426&'+_#H MA-J^32?4DFA"K9139 DG)&9"U3.A=H207:F057=/R++COYRDWG/:_4"/_[Y8 MN"XM6_&7*9*UJQG\-M-V7?BB[1.4"AT3M0%_JD&;$,,.0?KZCD,L'5E/[VE6 METCP:N(*NM\4W>=VA.ZG'YQZ3-OJ'H!)WT?E"9H7E2M*)D9)7*CU!Z8](NBQ]#2/TB#8F _9CFR M6-:(:,X\PHM[YK'H@&["?1CKZ8W130ZWF0PJK#P\DYP>KN:#4%48G"[B=#+N[&GAJRK*IGB M6#0HG\FO"4UCX<->_[_[W]K+V;HH+MY@O;JD4!%[ @@UTF4*Z MU5A\;2%5+X[@?]6S'\U&,T6+?4\]:=MWP2-P933R"5"3V],8%M:F_QRND M_Y-4>N>',;&1D#Y*+-;.7\B^6A!%%L;*2HV5XHX8*_&YJ].<+#1F>$5\K$9> MHPEY&CUPB&Y3XT6#A\$GC)[2D(+OX&]X22PVF"IS.;O/!%C:$0+4%Y1Q+@@T M-VJ7-W-H:KIQ145/:-:M7.T@;QB=$?O*P.@;RN!,>=+2PH5P2VNLQD5J$QVL M5Y>%Y?_*9[)A@'_94'(!69*&^1T&/@POR[$0'@_4F?80=;)FPGX?;=/O$QH; M-S03KK$['9=XN(:.]F@[E$7A"9B1P*@CHJ /Z''@:I /'9/B3HY=W#>>6.B0 M(J_E$G!]IAZX28BBC$3UK"89[?^^NR>58OY>RV?+][I2 M*G0*Q;R>SRGOF$&Y&F1.V 6S\7;6N+YK'#5N?U"#K%:]:MQ6SZ2;>O/R[J96 M;Z[:L%F6G!+L/35I=&8 ([4Q@@8&/B:*@!10:&O,_L&/P)7(C2"4?L1'F+9F!;Y/9EMD<;RL[* YA>4@ M G0 J(+?_U)*F7PHIBAD**S'GTR?2O,,^ ?2S"/)#17\+6X/$ / M PE(L2Z0I-\R#1WO!.9^1!CQ9 !\0X5$Q[ T"Y64^TGJ@7Y[Q/SUV -=6/=( MLFR/8B\D#H *QNA@\3JZKO0[6)*/P.D@UD OKI)_GZ%KCF!KZ54HU2G,3BG@ M"-R ?@O8*\AQR]*0 &,"GZO@T182(@.^RF74\"M*89[K:8P $+ER8'A03+<- M5^?B%^ZF7QFNZVMH9M!"#QF=D@%!<47,4=S^&;,L:606I72,@M(\_[Y#_,G6+3(OI MX!QJP!5M&[ &;B+89BWPF@QX"[-L\([$P^@[NZ [-+2WW_5358; MQ9@2'7E@GW8HB)FZ#%\U 2F:0+NZ8/O5VGW# G0X-.XD:>CLR9*+2HY6*Y@( M>X=M#WF76DO!=Y@T88\+=!4S\]@%L!N,#$33"7G7?D.BD4O$'=3@2!/DH_TWO@0D"P5 MSX68+\KH0)N4G:-),KO%:\[0"H[([+T!#TD[4J;MJ T: M: 10;3O:, ;#ZH$R?6]'1[=G]-=C_FNPLYC]$MA(7WR+!"*VP)CKO?$X;6U3 M@3US:>KKXH10:5QH5QLG@F^CH,28$7T1H M8&> ">N[3,F'*H)>&C]I*,/&T@%:(,JT"0M5T3I#K&ZB=8:Z M;5F$%9Q2\455#KZ,ZIR9'#A70IFNC0F4ON&YT^0\J()?\$I<7Z FXL8_-:TU MQZ%%5W1-@1"E_@B(^BZ\JLM=#B#V.+6_ATOZ-D 3C.#@X2:5R*R"R[ !%O!S MGW@?:.8[,K8CO@5@_8,>:$A.,6==>H_I$[R5E6WBPUBMF&>B?\8N!;W\8=.R M=BGQ>CLA-Y'1J$N#8&=1AL#O=!9@C-^$O1*FX"7M='K<8P FCFCV;40L)S;X"99YZ;_EV MBC/!S0S)U7ND[6.>XG<8D8^23("^, &F4-!Q+-E A0;:PY&9'=W%A # EL U M%F)A/&M"#79\3DLSJ1.#Z5LP#*F39.Q"!&*V8V.$ 2J"&8%?MD&-?J15'O7! MV$YK%%%[%+.2:&QMBNO#1"Y+.+H$7 F6PM*DCN&XW@' WD:XL=_PC]#(<^"PS\!%C77)=[T0%O(6^,K',1"+[."C%"'&N*,);7DVN=&6G>9I+"NA)Y,TGT7;'O-P1#Q - +/\;2 MA$/J#[/$+@5R!ZBCSP.5\-E"1L4/NOU(+(UZT5$0R31 1O.G8:@T\GEQBRV M-Z:^90F4E-$FU!"($M5M#(D:+9^3**S+&;'@@ 7@Q* 215600)635 M40?T$H>1%MA5$6#E@@%)J" MBE$+BV8$NL-'8'RD;GP?[J1W:Q+&Q_O@C=.*,X2"TV44%ZG,0)TP)SZ;E?$$ MGT.A%FH&KHYX0G]:VBTX$ L/:>%2T>D'ZFK3"!"5$K%G4))&N -*T2S 5&_P M,]@ ALN#BLF]1#H1##NZJZ5, MQ?'O85[(]9(4OL2D+:,:=]HO/(X12U%9,I MOE%JJ9 M#E /5E9@G8CV0&(&H\4U0ZRB+JY%6IKUX/@#3Q_Q0@P YB,[2OO(1&EXXR^_ MW0W$J]7FFG>@M"J#)-6I;4C9X9G^7@= M"9XTIOE+KMH,9]+&

MBB&6G+#LL'XL#I,(&DF_;C=,,L1 UV8%&U@N-9CP5B?0V[9AT5B, \8R+6YB MLA?K5TV0OSPYC,+'9(=]QQ*P*+QH(2,E7[BY_M0S6O *V)(2U#;66#YA:OU4 M^> 4))S)A'R4;LH%NI,O $_#XP*I#$,TPCH2K]9<&O?I]J2.C[X#EL\"/$!% MLZMW H-+4^>4T,/4JK_IA4!@"6\/I#:L<("Z@M/J;T)ZV"F/RD4]U,K85ASC8C:$GX]H_WIQ4+A\Y/71"ER MU*IQ-N+OX41R87O\Y&_\H>Q;_H2@X$8Z!".!05*3#F$OP%?O^0WX,_LE!B>7 M)X$3FV'6,,71!(PG"PAJ1Q?)RHC)@HTQP+V?K,-85(;Q(0'0"%0)T";+?&9< M%"\K^.*;(P99+NB+[-89"$L&JH* U"3UC%'&P@A-:C/:,] _,ZW-L]0@I^\L M@X:U6!U5&X]O(3J=Z)'!=Y$RF0'UP#OCE=9CB?%X-AP>CQGL9/)9GIW+#ATL MZNUAL"7:RJP]4'^ OC=<[I4#J)!N< 58(JY9%H 2*Q&9#XL_8LD'_A=()F+# M#_11,8@0&M/ 0S>T.I'N*>#>VM'E320PW(3S/O\UN!4,LCAM&C<.PP4SP,TX M( :KW4^IJR*E+E+J(J4N4NHBI?XF4^J\V94YL#?-)Z8#[Y'GVN_ CBSG*1G!'%V 1[SV6,3R6), MB.)9%AKBAQ^6S1TOS@O'K@B=4TD+=DC3 O2,-0^]LW [>A[M1Y:)\FSJU"1/ M=LHL3D_].>!/%[,ZST@@3Q$R-$M+G"[=/DWG=KB+SV^E,(TW"YDOV.#J*#(2 MQ^.\Y _+R_$TT3A.%F>#-I0,DA#:]# K733/KO.#C!1?0;IPY1FC'4P8S:*0 MR911%'!^=38F\=+=D(%STS*S@+CRQ,P2D1X##W"R]$T 6"W8W8%+] . #1"+ M]Y%?]2GIM\?A_O]^^[;WB?V[$ ?QB\?Q\8Z[JSW/&[@?__EG.!QF8"F9KOWX M3Q6T),A]]Q_2[FK./V"0:/\HY6*VD,_] PM2E&R^6*BHBI)3E&+A'Z\/?Q9R MI6);+=^3)R5[H)8S/:\_S858S(Z5XV[S0D(*U%L2P P]@Y;1_ ^/53S8%\NU^]3=493+K9R#"WQL!)ZH3J+S"1<5QPBDO1;Z3<) M7W/2U8P"B67>L" M(O"20KQD,ZI 3 H1HV;R)8&7].$%!)E 2PK1DLT(>VQ]>'GNS.!%YO&&@3"E M0RU]2OD9(%FK6?IJ>)07)!@G 10?;SISU"D #D'PWW>%=R_58X5,9;NCM9\/ MFKEYY%O:_/+3".S>6ML\R%_J2_E+T7)E');)Y45\A=&U5\.JFU*(FQ!<&\%"^_5^1HM[;!Y M S[9BI5@RC#ZP@!$KB*7RL5]=\WJG0X=O6EW:$4XK!_/4K**?X<>=;>MV4/: MA,^V M6WO3#^YO7@EO>ZAOB-6A;^WG.UWUNA^.UO=?4$7\J_04>QQA2BL4%5 MF&;P",=P3QW#EXF$LIROK%P+I@PRPBW<-[?PA4&08FY*A'_/G,+:+"47GTF! M9^+I.4'A! HG\&T[@8J:ERNYG' $A2/X=AS!@/.X&SM2 =EK$LO MIAE&V_4(D\R5 ^9JVS[V*DB#(%EO9>?6M[Z.S$M.SN=$[>=Z',JM$\S6BD.W MOO.UZ.!L09VN@_^A[5JVTD*<_1(:.]@H>4D%L?DA#,\XA[&=;CY'/IT4CWUY M/'I8L<\.*TX9;%60:<_+I;;#QKJ7,OFPU;Y#7-^D0^(I ML;;_K;^<,!:@V+C,6*YP3/HY 2\?,;M=,N98F*X !\S1\>)1&"*>A": M!AL6 B#+2+7E+V8]Y")0MAWCD5ALZ&2;\'%OLO'5RSO/+3$-Z1FDG7\N::L1/):E[&)$R=,H M6WH%92NOH>P88<.N?3:^< IE%V+3<5)%V@-M1.DZFG<9?QK%EI(IQ6&_#(>H MT2T<0O&[Z.!'<+#I*$R7C]AC+X^:D\9E3J)KW&Z.-LB)T08,*V*T@1AM($8; MB-$&.SC:X$6^R_QS=;O@MPP)VP38Y[GXN#ZZO1D[B_J5^O P/B,!C$-@$#Y? M"X.S S;':#]MX@AL>37F+RP G!PSWG!N@L$NH$9D/HZ ,"Q1NQX5:-V>4/A M6S4'/8V/]ILV$77J#K<\=?%%AWYVBH5*R8F7 25,VYD\AO_%V(NF8<1G%>/X ML6"8 #6KPQ7('-N2IST1= 6,]K1![*0_,.T1(&7,:WM+CO T[#+(Y2HQ>ICE"L.C=$( G&Q^7!*=Y?A 1VJ" M)*^&9;L$,-IF;:4[Q G$22F7*41^W0"'U&O8LALNPJ[=.#3Q5611B FK1621 M&_/TMB>IEFPD#I=B8WOLK'[9 G.,C8W8%9J^],'-M\&$HL2DQS9C1YN1NL0B M#B4)/H:#]B3'N144G]34HE*:C]P(A0YUYZ- !7QB'(!C@M 4""]$'8;/G&X8 M\*BA0\=1 .71X4$XTZ#C4]ZC!([,=F"#'TG'Q[*&Z?@]?W\PRR,^6IB/B< 7 MDR%!L$;WF%_%OPX ^* ^_ ^_R&:-VT:M>B95:[7+NXO; MQL6)='5YUJ@UZDWJCC<;)Q>-8[@$//4O=TW!:R+AD7 MMC&:V$Z.&^,8 M9T<3PLDSML'"Z..*.A2(>A:7SVZEVFF8D)01Q/,\!'\J G M8IU;7"9AXV;I'2?5ZE5&NJ(/#D?H(,]/74HX\.. M^& AV"J=Y#0C/OV-,%.53I.VXO )=A)MA ZT"K<1#*EQ#)I&EH8]PN3CC,L- MEP^T>4*$671 -%X20E&3>D#LP'PXJ@:7'ZR 370*'N\SA[1MT F^\.M2((=M MF6U&/%ILE!/# >+Y>60(@.L9)M.JPBU/A6\JS+$YD_\B,;3 P A@-!6>;I(P9L[\ MD1:-^TD:!=N=U'-#,+P)I%=MVTSH C4T@!?ASVH$A2O'9C.\MVHKA(LUV *I MW C6'5<6\<5.LC3C88YSS6_3H>9KYN!=3JGE14I-I-1$2DVDU$1*;;=3:LN9 M!'6<28MZ],2QA^">\2G36PP0,!*5$-]J]A,)UM=EZ]/9^F3ZL_)I+": -M@7 M\"Q D8->1@?VD \*EIKXE3]PP="A;IR:553I/=[ W_3E\K")/_(G?Z#34EU? M[U%[G ;,@)P-%*-H[I$G$G@P-"3UJ#D&\!OW&''%W'WB=DDTZ15M$398V&_! M=WQ+:'528U^CH3%/FKYSFL*(C55N^1Z]F@Y4IK$\F7YND=@2:(B/NG@CYH33 M%!?:0N@(>F @L0F]R27C_'46FF:633Z;#YSNIN:T- #KP>6324812+,JCDEN M^SII)QS>6/S.(5W-H7-E 8*ZSR=&3U0U6A& HYA[8GD(QA:= JS1T<4M@XVK MU=H@/FQG)#W:'AWOC)8VX'31BPO"4[E,,*XRCN\8$4_3A*F_KW *FD M-4V'_@)^:*06;-UP\+&DF71BYIS% 4+:(-5&C+K04@_R<7Q:\[3W2/B%R7W7 MZ-LA#0I0-AG"&BG[T#<,'.,1(Q@A-]! "?7YB!F&LVE@&BU^EYB/A(_E3FR' M$W+ ])39-9XLH@P_-$R3WTGGUYK1^*]TTFJB"@Q?-<@8W4>J*4=\:CX M<=F"W%!:Q4-K/+PR]@T9G]C)>#SJ/(H3/:W2C+2"F B3YB1:'EV-9C:&94X#LDD&7):I-5RJYI M-+Z(H.=Z>XTX5=+=K-B;6Q%7QDKN$XP$(*>:@ED.8:8EO(8G60([/&[5#H"D M>)*@8]HL-TZA@!EUJM4G4$G5>T]K2W^IJAH[04##O!Y5X_B4RYS,Y]>^I=/1!&IA^PAU@$%HW?;U,AE+/G54C ML$1">."W35#< M4",''MU'T(9CW*4>:7>1Z^]H!0*M*2).WPV=E>2:*?K9R8I8T00[A&(SR:3$ MD DT-+XQ3J%AB)B9MG[?9Z4;S-1#&\@A/:!;? ^5X08]T6%JK@MR,X#J.)&S M:B<-K=&104R,>?_R78]EVV)4!P\C!C,JL92(RGVZIW 7%"QMS@BW*' UPP'X MFGZHA\;1:02 \ ?PD#/R2$Q)A7<.?"]F: =I27P5/,0>6D&E!Q6D0<8S_AV' M'+4>B4/+HO!8#68.VP2Q95A!/=C"5:ZTM'5UO (*#W13'PE6<@EUPAX-6GVC MF2/7< .T1/6$D:1CY3]3996&IX_ %=&8466D2XLFJ5F*#&@(WZ(%[X#5*MDL M^QJ8R6 )%L9+T;.3\H)Y@+J&265MVF(#I<#*+R,QOA#,].347_'3AG.>3DDT MLO\6HV"]/LY<.AP/ILU5?LF<\K@@2 Z]_$@W18]7AXD@=K9DFF:R3CI9!;,9A]_W]]QRU-C M[]L<$Y\M"T2D !%*)C]W!)% Q(804'TK&YP^7W1O8M>SQZ.O=C1Z-E.I M[#0%7-C(R9K)P%.ESKJ@@Q?007&GR> 88[T,-#<3DF!UDG*;+47AF4T\[()E MX5(N2P,R"IY_M?UN3_KBFR-)S=%OBRLC_NTV@5RN]"^DGPTU5\S&I]4T M?F2N8LK:?.82Y>3+-754Y4(VN\KVIX+R9SM2NT\OV4Q9F>P!^DJW9ML"X>\U M:+N-;N!<&P59AMR:E=H;Y^-%L=I4JZL=DS7Y@IQ=O6[:*.Z6\D#6$YI+)4IS MF4JVL&KUL?.Z8MOZ[YBT'!\K)94\RU2'.B0X20O?TE\JNVPB;HHSA9>3.K%3 MELOEE8Y,VG,2WA=W)0^(6J$%D4YW9;7#%\:K\I3!BZKR7I^S2561X?.Z(WJ) M3EO)XCH7R[VT6!DOGBX@3P.LJM[EY@4%T;Q -"\0S0LFER>:%XCF!3O2O&!< M66:74?1S,XLS#^EMZKB4DJ0I/,]A=$8O,0&PI4&\"2?P0)?87; .>VA"XFP2 M@QWPHYW92-#H,SC?./O (H(AWB8;K8R:9FEM VB]C=7=#GWF.7G",W_ A*XM MA^U*^0' 1+M:VK 4N[#Y+=> Q^#D'F0$I?1)X@T?8P>@ 0HVJ"K>_#18(.WI M2T^YP(6LL)^V V0+8H>A.[ZELQ*"<%MK/2*R.FSBH1S><$/J:6[RN!6@:J@Y M[; 1*CUL1<_T4"SJFHN@BJ,C 4/==NFQ;-?&23WP!3W/C? *;@GQ,@H.>$:O MXFVT@C-74XY;L;Z*EL:7DR"J&!E$1X+PD7VBX1FP-IZ9BYWS88UO@TZ++G]0 MV!H1&QCP;^*=%?D)DAEGX1,M1=V,5,7V"='YP\F31K'M3NR5G3K$1I:\'=R4 M(U[O\8S7AV ^4;#CQ($O>L!MN:-B2 &@#_!45+A>WM A=K8+7,0^/Q'LAI>O M_ C*Z^B.$B,CJ^*AB;ATT,*F";R^+G'F-#A)Y/823B-=E!DR^'T&_4' MI:?[IKP7YT8-!H[]1+LP@JS]*QL;O!7T$ESHXFUI;YS G[,YY?F;HV8?/W3E M6_!H$VBR+74UPZ(" ;F$\-8[V!&&RA4V^.*94$E(T(V!I/ 2D #)#UBUI#EZ M,8#"\YE!)X'.Y%':>.^+CI(K%\LM7%[4/5]XK+.N%%^&]W2J,<<*&$-;V7?;R135(PJ@, M$BL@-O?KK[MG1B^\!(PQQD1[M7L)()CIZ>[I[IE^GGT"3'60A,!%B(+]PG/IR^N=JS!894@C8KVQ"!-(]QP613Z9T(3Z2.-Y M%P1^/ 'G3,%[2]BAP$T@JZAO&)LZT]W8\[]6[_M>3VG$H$]?>K#9>#QXY>]= MQ\ 2XKT";*3C5,=H@A@5IAY.WD^0*4+Y!5G3%$.+\6\(@4R\R..,-)S_ZKFD M,+2,4%GX&#NUF.L"0FV!)37:FETZ=7^AYO>3BWSR!EIZ( M_A8F'O'PJB$S X'NI5?-(K4CLR'W3J<"."W]00F>]LN*;N;1-!I/!6)(Y@=P MJ.F1JLHM3FH# 22A*L]#((R:1@(XV0^P)3N#;2:;FA/R@.XL+7N4&W?NV'@- M2ST@9P[!\M"?I)0T,WH?.V:%,&6<6."#!"\,?QQ/AYA7_0__+)1>(!O(C82+ M-NZ&+I#6B_V*0*1$1$/@)Q(_@*]9HQXK3#25P.0X\3$'4TM@\=.Q)[X#V]9P M&L OBAQ.=&1'(>@ZYL8IRT5;%!W<)-H1-NUC4@)CP[03!C6> WA+%D]5+A-8 M 5YL3EG^CJP8-40@,L2HV5L8U#+%Y67TV)S? L4YV2Q2*"H$_(*)K]@G%&RN M24GF1H(1'O2&05 ]XQBS.^G&QT#+EU-TTE-,/'""MTB+'CJ44[B*^\S#$G@6 M!R%1@I":@)8;+9,@B10,YL( C',&:>B#Q_'H%CY?>-ZHWX(E)%&E%J)&BLP) M++,QOU_M*?Q8FV NU, 2QY1&Y^*L-R_8Q=T0!D]0?,2-(U0*^7F6^ U*&B+O M.\74 _B]* HCP6\ ?^U%;.IB-B)58#P;0[J.\)RH-: ?2A\B;@+W0,_%L5N2 ML, CYIU L?,+";70CP$0O;FAB)+,1.)E M,0(Y[WNBTI*HAD_PCW-/9W#1.#HG$Y49&D'".> '\?9P-F0/Q P$$T/.(08I M_$QD)/ ,G;:YX6/ I4O&#)_C*" PA[&/-!5B898R"X1 MXA[Z$>Q[N%#)=H]HH2#7*1$ B#)"0%L]D4# $H"@.928#-D(:G,FA2=8/+AY M#"!WC,%S?((4G?#=+@:_3%%>L&[((=&X(_'[84B<70*2CE0J9@Y!E>/3 ,69 M6V4)"0'88P4A'$X(J.0CQ.RR#(P90O M$X%S2:U0B6"VH-NP("GH28$Y%R\7F02AP/&5Q1D*:$I$ 4)GN\L]=0!QL#SZ M+,U[D15W TK+'.AS+PN MQ@-V.PB (WZ]7E32(]YX=+%BC$O=?I;-*6^GW/^ M[^SW>%?7 ;LDIN[U2S]:,GFD7BT7/9J:CV\RS*@RLK*BY9J8> MV*G=W#6;7^X^-FZ:[>LO-Y]K=\TO;;MLFE53VV\M,,'&PD'QG+C95!4:G)(: M7:H BE5#O=7X4&M1E;!!%SQL72L9UIXKF<:22J:N*C0V)36XPV5HNO%ZDA$) MXH(V K1;,6$?QAIMR=93%\84'^ZM__)Z^O@OR8%OEY#Z0/32P0BM62 :046/ M$<)7D?LH@IF+ $!]^JHP@@_0CV%\!%_9Q?BP>Q>MUNT MB[I6L;MNN60SQJR*4W4\BW47*NEZ#1&6KVOUNR\WMW;5*!$%&P9$C"=Z>!1=0^R 4SC5O&,9O4&Q+"B=+L=6YBRE#U4Z ^*WRZI M-GFKC*+86D^O=BVFV5[5TT'1BJ;=[5J:;3D:ZW9-O:2[Q075*LW[Y(-!(R^M MLD2(]"%Y3F6'MW;#EASU=(2[CH[-?O@O MOU\X7F7<6#LW>N*(: $^MTPB!*#=OYUXCGN!!H+V MH=>B2/ J7@\8/(MNM@T^P&[?_C&[:UE73>W3AS_*]523L,UHOEZTR;&>SRK\Y#O=;MG+5;_W9;DS\W$0N_-N4*'[B]B,#$ M#D5S[J)A,)F74'"OU9H.^W;7^/J@=_OWX4._.=I(<41%^P6BX8[O@)1HJ82Z MD5;1__??]M\/GTS[<[=E_>>[V:AM(J&8Z&Q+"8D#5:[9(H>1J4WL:\6'),58 M>B^5&U2*0UVK-0VDF-(\MOP= L6I1LY0%6G0\14!+8,"3[;>F8I2 M$\#JO3:/'?'47JOL]M[*V96\G)V7L_-R]@_*V6EMT-72:!YO=I<%;J^D51VK M7+&MGF7:158IVU:Y5[6MHN>4C5*E6"DNENG*C;\^-B^;=[>V;IHEJ_KV);JR MJL@QO2)] ZW%'($#O39/X;!!QSM_0E>UK0%-%?IM)?[33AQ%==TFC!=XG_I@ M1A.!?="-SG]OA^HSFOUIZJ:J55;/G#+]$<.3^$.;_0Y (/CF!)N%^>[6_LH; M.Y%/5SN>@\L#>UU6Y0]L6H:J;[!^R2RX]NYQ$NNCX_G=3X1/AJGW(%G)BF,G MR&V)-(0J'YPXF/R9L['GG,&GL=_OPN/N*W-7Y1]_3\/)KVM'P#\V)\P3$3OU M)Y/1^.+\_/'Q487?4^_#[^>UR.GCG;1SS[UGT;G+)NQ@W7KNE8L MEZI&2=.*5M4ZGPR-DFD9EJO;WI-QIJO]R7!94/-,B:T-WFZIP;PSA=%B#T_, MC52@=AZ\XS<,(;NM,Q<^]A$V96R]*RC-P%$+RC<_ J4(9ZDW6JTZ+^E#/AS7 MD3] 6#]2.@.GH/!CRS]8P$&P2N+B\6GFH#%]PLBOT-.Z*6"KLM"[<+P@.B?G MRND6YOYXN9V. N3/&I*E4*K\2\6<#6'62UV=#Y&/Q)E"!)Q[T]R;OJ4W+9M& ME;QIL:17R9OJVO[<:6,X G](G20I5^K*[G)(DF,?5)2G.K*7=YF/)5]Z&3%7 M^8I]E&PXWM!5HB7NQE=6A*\\8I]EY#XK]UF'YK.,]^VS!LP//'!=X:,7/<-I M&;G3VL1IF;JJ_S/W6KG7>I'7R8R=BO(-(1+<(0:NN9OV!;I:TC1Q'52O_U([#R!U'[CAV[S@./_K('<>+ MZK6ZVFS?'IOG.#)?LM6/0 MW17QAG)<.EW,]?G=ZW.=,(X[[%X<(!(X-2, 6N6*39ARC5CJIXB&XKJ"D$A MP*1-P14:_LL*AM%4U]_VRYEN4A1]1O1*JLU0U:O><&W/X"9]NO(;1\M:$+'E M55/+GNR!,DJJ%O?G$H"H%++"II-0T10MZ(D8,D.:,V6#O!Z M&@7^N)]:2@[\[*0/,L8*FTP88CSA682XFCE6\*"?;G;BP9V 978<@:2Q'E-0 M\%=X0X2GBH0;M:#O=%!RF+%!@(C>@1+,^0N0BUAZ1P^$'"(.#$)P@6LB'.HA\E MA"H2=_O>"V _&:3F@_,=P BFR$*'_SG'ZWN/&I&,K2] C>E\:CG\!H%6Q7'+997&C8'W2R( M+[GWQX@;P;EMW"ELMX+#D#9ASD(CP@3!H 5;*D8U7:_/!CU)ED&1@*38PA!I MBI$#?1\D)?V0F*W4G<*,I(T#$Y^L9= K6222!65>W*$FD1Q8*B4[V:SD ,ZU MO"KEGK.RU)=C2HS$BM)'R+^?8;1^P3>;1Q#26C\?OR\97WZ5 6UVBNE]?--R M@E%12_H[F-M>0,?X!Y]1L]E"X):JKZQ?'9"\MYD:)$'EE:6I0Y[;N[II*!^_M(C) MH2 JJ>TZ,MIWM[RN^!;J>@7)_H7RFV(26&$AN'+EQ[& Z=_YDL)UU['68*^A5#@I_,6]G+Z@R;/^2L9 MN=45Y?)['[R&/SZ*BY4E\;D!Y$I_R 7/6D5M&;AD_6P:_ M !R1FT%N!@<_G3?.X!?15O!Z7A#OVM!_L>EWM[F;W/5H3J+EL1TI=?>1] YO9KYB7,3TWN N?[ M%[Z'OKNB?2&Y M<-W1G\7W\R'/S^?U!+ P04 " Q@J9:T+-A8@<( S M*0 & &-DU:;7/;N!'^*Z@S3>P9 MO?HEYTJ.9Q)7F=/T\G(>Y=JO( &:J$F"!X"2U5_?9P%2HF3[8J>.Z[MSQI%$ M<+%8[#YX=D'PY"_=[J1(>1%+P7Z0-E9W4L7(W;4?]W?'^P?L>%P=/C#Z&"? MO?W =K_,SO9(.'5YAD_)Q>E)+AUG<[-SI?9^^[QSNF)4RZ3IR?]YCO( M1EHL3T^$FC/KEIE\LY-S'N FWJ6 M3;]$%ZZ;\%QER]&KFO.J$%WU8:E;P:>VFK_B.A&M-S\LIU M>:8NH)QL'8?YC^JI1QN#+*2?3J0S@9N3JU1%RKV]XTH_@I_([6!4#/=)L MF47BMUHV5Q9V9(&:,N6[%R6VCA0)'NO30X2[?[,=,+.N#"2_0BD@8?@QVD1]\:/ M:/C3=>E^C[WCUF<5EB_99:$7F40"Z@3/FN!/H3%HH9&YH)VK@O%BR:K"F4K" M2F0EG];@:,YR7!G%,Y;P&$V&Z1RTZ'20NR90R%A:R\V21')^*3%N2Z=%FX Q M&#(CMJ Q2"!6!KD48LBN%I9@>;!%JN*4V8H^UOT7$I$/2F@"N;+(+ 2#D'V- MM*6,O8&DMX1I6F":GMB;E.69'IA&U 9>:&L,QP#<6H,=L/*3@L;MC'FFK7/\"#+ M#GMLMN'+ER\._C:V=?CK!$;+3R>)PN6NW?-NGC)NI \H J2B3)+CF02*HDS9 ME'J06 [V(0:B:Z%LG&E;H1_QDM%9B&QI-&IN-%NVBT *"62$:$VN4 D7**_? M8LF?5QDDA@>\.SS:E<&*X9$(5^%241%3!$21?D:\T ):"#S9!DHV!$@Q$ M\]R&'R0HSSUDCO^=0HHU_X\.O9F[? ^.MA"&ISW9?QT&'J208G1EH !$0/XA>H&4++P>*LG6Q-0FM[!/ 4;J'+..I, M";_-LU5DE5#<*)J "IG0TVU!FBI+VB?J=Y6DZ0D#--H&Z)U9 MY!I.[\X_=X8K(#Y7@E#(K2XX$2VW0#!54@1-;D0#$P!7\>!D2I$W#4N+QB/* M@R7@?4.T58EY/K^J)U16!AMY1(%2>AQK([P!OB:[D 4R=0;,XHXL:3&0".K- M@$LL&E6"4I^1>4]DQGM,SGE6>7ZAL,DD0?FDYG"XO:$,JE/W'=@R7-Y<%WD8 MHB.8SH;J*]*5NWW\N_ Y7TE+*BV3KQ?O+&J*5K^R:C_ GC$I?T;2_9 D]IHP M70\W[0WKZL??N0%1]^ U2JLZCBM#(6WEL&LZ1Q+X0G<>Z(FUR6VK9W6_*=_]$YCXK=]Q8W["GJV0 64 DAH&T8;NEA)A+1.<:OZ?B'Y)>6L4,#X MK.5++__ JWG.<"^@U*5XV 3?P!YFY!WCPCQUKX'1"^E#%7&=S23FD MX!?UTU-3TY7,RTPO)>XN4AT(BF_ $C!Z@-3:>TKG!_Y0T?G=2-TQ GBEZ<8Z MRWAIY:CYT1[Z-<9+PRD2'1+2C.')<1LTO'*Z:0CGC[YEXY22S-X\HZ26UI'C M#O,H>+,33K7H_-0T=M;C#\/4G5A-G)(."HL:0$Z7M<8C*&SYJQZX\5WK"+2E MF6)(CRH;'S;7W87AY2@"85QV%W#85X]55_=Y9'56.3FFL]WMZ3:GO/6G$W>; MV!]T7H>_RXGUG2&8/@ DOP-%_!UT.'KY8OAZ,/[ E^QUA]'+#)X)'@1MW\'D M=\O1O>PCU-0<%FGG= Y<7#'_>(^]&/A_CSN!ONU?/U)>3^GA\/)4(_B1Y_*; M8TBK[O\H-IZE2B9LU]NHH#>:5N\&EMC(=$-EPQ-4R2,^UTK403X^[NT? MKL@TM T\D,,[AWW_RN)_ 5!+ P04 " Q@J9:VU\#:!@( !Y*0 & M &-DU:#5,;.1+]*UI2FT"5/_G(L3:A MBG!02]6&9"GV!VAF>A@=,Z-926/C^_7W6AK;8P,;R!*.W25%;(_4DEK=3Z]; MTAS\T.V>E)DL8TK$SY>??A&)CNN"2B=B0]*A=*I<)BYU5HYN7%?FZ@J=LZ[C M,/]1,_5H99 I^>E$.D]0>7*3J4@YL3/L;1_T(]BI^@Y:Q4 /F36U6/Q>S2;* M0J]?3\67 MB[/SX[,O1[^(T[/S(_S$K\^GD#BY>&(#WV_.9[7>BAIG'?$QEZHD$(*>DK$= M$9-Q*IT)ETDW^OM-OP6>_]269[JJV; GSD0F)R0,311-P80N4U;\6DL#J.4S M<4&5-@[\*$ZU*<"@W5^%3L6Q3 R)GP$SD!#L>%;&O?$S*OYR3;K=$Q^E]2%% M%#-Q7>II3H@^G6!9$^R9: Q::H0M] Y("EG.1%TZ4Q.T1$CR,0V&EJ+ DU$R M%ZF,462$+L")3@>Y6P(EQ62M-#,6*>0U8=Q6GQ9E"93!D#E3!8_! K$R"*00 M0VBUT"0A(Z:9BC-A:_Y8ML?"H:83GD"A+,(*PR"$7D.VHM@KR/U64$TGF.8$ MS1(1S=IF>$4,:[;S!X@AD:H2/F'W+GW0 5P@CFK3JE=EBB4J.8[C=YS7"?J$ MGUL&[P CBI=U!3&!DH3GR!T6*+.(0#<:#C7#V>]/K&T MF4AS/;5S4!FZ4M89B8$D%P:]H66GA0T[5^:6MJ_P8,UV>^)RQ99OW^S\-+:- M^YL QLM/IZG"XZ;=\F8^$]*0=R@*K=B$(Q,",H*W3FZ0!I?(K8^PY"_J'!+#'=D=[FU2 MT&*XEX2G\*@X@RD#HKA_P;S0 EIP/.ORX('2E8%2#,3S7([+_.@PZ'(=B6=N'-^& $-%RI!!B=&W0 8B [ (J M1$)/MR7W5%N.3GY561_*/!EI2U (6SK?J$):I.(ZE\RAF)978AGET"+$S':H MQZ^(6! TA_:4/!NMK7MZ!9#--M1O*;FG%PS0:!V@#V:16SA]./\\&*Z ^$0E MC$)I=2F9:*4%@CF38FA*D\QA N J&8S,(?*N87G1>$1YL 2\KXBV,C'/YS?- MA*K:8!M?F4U=H ^8^[\%4F/0U*R-7?3;7?SWK#)?GS-'8AZ M!*]Q6-5Q7!MV:2N&W>JST-:AE$^=T).-TL%SIM!8TR:1?!GGG*XY@23^#>$@VYSK!MO::\V=VNR7?^I'&>%;DO M-T/$P'O?O.GPITD+*'>6+,&DU8;4DC 8%H\(Z;>ROD8WB;S/:6,7,=07H,.B M4,X1W4O'D4:,YMI$03??Q29@!_:SS*[XYMQSOD[H]UI!=;\JZC+V^]^MUWW% MG?L*/EO@!$H!)+P-XPU=K @N;4+<(K^?DKSFF!42&!^U?.KE#[SFYPR/ DJ3 MBH=-\!WL(1,TM+0@CWM U:1K: !L(*OJA+!I$3-M76#ZL(Z?2D/6=Y['O(;$ M;TO[.?*E!NNX V^2YQ[@P1\[-L#IA/"ARHG.)\0QI)17S>FI:>B*BBK7,T+M M--.!H.0*+ &C)PBMO9=T?^!O%)W?C30-(X"73#?6>2XK2Z/YC_;0[S%>%JZ0 M^(:09PQ+CMN@D;73\X)P^>A+5JXH6>W5"THN:=TW;@B/@@\;X4J++T_-7,]F M_&&8NDL6$^>@@\2B 9#35=/CWJ WW/VQ;;)F[+GY6E>@K<[9C7Q:.3?C_+D[ M-;(:1>",Z^X4-OOJM>JB7D96Y[6C,=_MKL]X?LO;?+KD87/[F\YK=[>W_Y?T M6=\9!NO3 /,[<,6_P8NCMV^&[P?C3W(FWG<$O]+@*>%),/<=5/XX&SU*OP8[ M#9]%VCE=C(8]#AW^L$^\&?A_SSN+ONVOW2XO)_6DH'FI;CR7!?T91_("_+][ M<274(H%TU+65C&E4&?(D YE;;EY&W7^.MR_Y):=OSJGF<*4K%Z2)9^QRV MJ^(?YJT0$%Z\MS:_A*-H..J6R[;67-;WR>T\-K^0K+N=+F2+C#:2\?65T769 M(-PPH[HFY(CF2* M='LD)UHEC9_W]WO;2Q(.90./Y?#F8M^_^/@_4$L#!!0 ( #&"IEJ>$&"F M[P4 4> 8 8V1R92TR,#(U,#,S,7AE>#,R9#$N:'1M[1G]4]LV]%]Y M2Z\MW,6)G0!-GY+MQ$FAVRA0NHX+ M3BP]/;WO#VGPDV6-DX@D/@W@W>S\/03"SV.:*/ E)0I'%TQ%,!-I2A(XIU(R MSN%8LF!. 1R[A1]\=/S MT:X&CE3,\4E)<#2(J2+@1T1F5!TVKF:G5J]Q-%!,<7HT:%??!:PG@N71( MD*DEIX>-F,@Y2RPE4K=KIZJ/*]LXO05S8RU8H"+7L>V7_90$ 4OF%J>AX;65:K0M%HJR0Q(PO MW=]CMWM#]H:^BDI_9( 1^/+V=GIV6@X.YMKR^G5\&(& ML\D32_-+-#H]N&I-6Z,63,;SXC"X12&)Y,/L_'),Q5A);BW]@%, M3F'V;@S3X>7Q\&(\M2:_OA__!L/13,]T;+OS#1WI6_G-[WFF6+C)WX(=#:VI[]C] MD8@QW2S-F]/?Q6P"IT+&F&^LCQ *:3"G2*8(@"8!#5Z]< [L_CF1?E3\[#I- MT+FG>",9A(Q7R4POGE(_EQBB400D"6!\@]DGP92&.\8SB*BD M2'B=QH*=BD1DH@F_$"EI L%T"4/?*$#;;1/GB7*?T$+N8[N*>)R")R2*\[!A-U!NG)>Y>O6>I<0O MWW&%Q/^@VJ;,R3TDH%Q5$=-601WP6NO#)[QDP/"")45_$3%%+;T#=5%)DN#0 MG3@?1HYE08-UA1*Q6QO1)"W95QKYUXY<"EA3MONWM][=IKF;2U M9;2-03V4'#;J2&,0MS!NAAC&@T2YE@%:>P54_V9\RT5*F1KD>K?_7>:A7:;S M/;@,2S#CQ<3X 69815B"<9\5V:GR)\)TBDTES;3K-/4TP48-ER$UA*-C92GZ M4M8TJT*68,NGQQ%A8#H5DP81*N>%YPE,KV;/K/*V,BFW?CR/>IKT.(0,YW3O MC'T=*H@7@F<8'C'(*2PL,H7J-,UY&2<#\)8;63_"RL"C")I*<'6%&%TKU>R^Z\K$MC*VK5CBEJR 4B#+E85!*J MWBT=I5U/4O+)6J $_O;H8S5/O$SP7-%^%<3 MUUJRK;=[WX%@[\7:F^_#:#[CS22:S2KE_I[Q""9Y@G'9K7K0)1P4O>=MM<6] MS>X1J#Y>NO^.Q,)\R@A95C).>@.H3!; "]O\/2T/[:S]>=N]5:$\E.$\8U5> MD)A^C3*U'WYC36Z$]7H+@46MB30(\3_-)W;SI3,J5748"3$9M\E MUX(%I4WT>JW.WBK(%V.V,?WB%K5M+F'_ E!+ P04 " Q@J9:*$XWR;8% M #5' & &-DU9;7/:.!#^*WMT MVB8S&&Q(4FI(9@@AT\PTH0UDYNZC;,E85]ER93F$^_6W\@L8VO3NTC2E[66( MP=)*VO=GUQ[\9EGC."2QSRB\F5V^!2K]+&*Q!E\QHG%TP74(,YDD)(9+IA07 M DX5IW,&X-@M_."E>V!9)P/<;%2NDK$+A^VC=L?N'(+CN >OW&X'AI>P=S,; M[1OB4$<"KXS0DT'$- $_)"IE^KAQ,SNW>HV3@>9:L)-!N_HN:#U)ER<#RF\A MU4O!CAL147,>6UHF;M=.=!]7MG%ZB^;.6G"J0]>Q[>?]A%#*X[DE6*#=PU:O MMQY2?!ZNQF3*-4=1%!-$\UMF]J[MZ@M&E.M)'?:W#_C)X4E"<'-^%W.,:NIU69]#V4$_)-^#*1^]A:HLM0WXO9[<\1;X$ MUTLWY)2R&%>\>-;KV-W^H&VHGY+3+REP-+Z>79Q?C(:SB\D5O+NYGMX,KV8P MFSRQ-K_$H].#F]:T-6K!=#S*^72ZAW9SAS@<3F%X-GDW&Y_MJ HKQ;VVCV!R M#K,W8Y@.KT^'5^.I-?G][?@/&(YF9J9CV]\SD+Y7W/R9I9H'RTW.+F+P91PS MW^2] C5TR.!]1A1*(99PS1*I-,@ 1H0J!F]0V9AQTR9Y("@$7%9B9Q5/F9PI3-*J Q!3&=X@^,4(:GASQ-#4BX,=04L0S")EBR'B= MQT*#$*!"TA6L*' M6"Z0N3EK0I*I-"-H89RI!7*IU#R0 84A5"8&9>OD%9%Q6F0U%Y(HC\0LM29W M@BUAZ.?:-T[;Q'FBW2=TCX8.!)19DZ;M@-U)L0)5"O[M.$^.4]KE#X M3ZMC2D#N(0/EJHJ9MJ9UPEMC#Y^(4H!<%JPG^HN0:V:9$YB+1E($A^[=\W'T M6%8S6%1H&;FU$5/?W*/HQLF>LY]K;$NN'>+0^&.9 8),8#KP,<:%B;]53"KV M,>.*F>HS-8ZZ=OL]@CE @7.X1_=7SKV.X%7TEA[NO.X>]$U3AV8Q,O]0\)8;:!HBXGH,21,E;SE6&P9N M:XK.+;(P?;%GDEAI=]QDFR;(5,S3<+W!OZE"%' T-'(9!) E.&+89*EN/:(6 MO]J8IBG.K7#<,#UUHTINY2Y%CK-\*01)4N96/^I\'.'A85&&FV;:!! :9;-5 MM]=IJ6S4S4BM[\YS9'5JN9M32'5_.I15VCOHM>S.\[HVMC),K?>O;2YQPT#( M1:6AZMXR&=7U%",?K 5JX!^?)ZSFB9=*D6G6KW+.IHC%XXWR^N54OY:M]?K@ M9Q7MU0]JMCPM;V+ZPWWS&V2",\R,;M5:+>&H:*D^A\0/=KMOP/7ITOUO+!;N M4^:H$O>=Y [0F)S",SO_>UH9VFE[JYO< O/'\IH=MN,5B=C76-($X7R:]Y\$/_++&+4#DYS#NWCO%T:P) MVO43"^]_WL)5ZU5@_X[4[/5R)%P5S1[Q/\R5S&)JRG6IW"IQUEYV;4Z4)54' M&1&8R*SRODJU]9=LY4C]'=OVV[N$S)E5%%\DP)[8);>2T](G>KU6YV"5X(LQ M.W?]XJU@.W^I^#=02P$"% ,4 " Q@J9:OQY#3_X5 !/YP $0 M @ $ 8V1R92TR,#(U,#,S,2YX&UL4$L! A0#% @ ,8*F6M@+1*T$-@ 9XT# !4 M ( !TRL &-D&UL4$L! A0#% @ ,8*F6OS3 M0)V_&P( 2 H9 !4 ( !*C4! &-D&5X,S%D,2YH=&U02P$"% ,4 " Q@J9: MVU\#:!@( !Y*0 & @ %960, 8V1R92TR,#(U,#,S,7AE M>#,Q9#(N:'1M4$L! A0#% @ ,8*F6IX08*;O!0 !1X !@ M ( !IV$# &-D&5X,S)D,BYH=&U02P4& H "@"F @ N&T# end XML 93 cdre-20250331x10q_htm.xml IDEA: XBRL DOCUMENT 0001860543 us-gaap:RetainedEarningsMember 2025-03-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2025-03-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-03-31 0001860543 us-gaap:RetainedEarningsMember 2024-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2024-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-12-31 0001860543 us-gaap:RetainedEarningsMember 2024-03-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001860543 us-gaap:RetainedEarningsMember 2023-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001860543 us-gaap:CommonStockMember 2025-01-01 2025-03-31 0001860543 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001860543 us-gaap:OverAllotmentOptionMember 2024-04-01 0001860543 cdre:SecondaryOfferingMember 2024-03-19 0001860543 cdre:AlphaSafetyIntermediateLlcMember 2025-01-01 2025-03-31 0001860543 2026-04-01 2025-03-31 0001860543 2025-04-01 2025-03-31 0001860543 us-gaap:NonUsMember 2025-01-01 2025-03-31 0001860543 country:US 2025-01-01 2025-03-31 0001860543 cdre:U.s.stateAndLocalAgenciesMember 2025-01-01 2025-03-31 0001860543 cdre:U.s.FederalAgenciesMember 2025-01-01 2025-03-31 0001860543 cdre:OtherMember 2025-01-01 2025-03-31 0001860543 cdre:InternationalMember 2025-01-01 2025-03-31 0001860543 cdre:CommercialMember 2025-01-01 2025-03-31 0001860543 us-gaap:NonUsMember 2024-01-01 2024-03-31 0001860543 country:US 2024-01-01 2024-03-31 0001860543 cdre:U.s.stateAndLocalAgenciesMember 2024-01-01 2024-03-31 0001860543 cdre:U.s.FederalAgenciesMember 2024-01-01 2024-03-31 0001860543 cdre:OtherMember 2024-01-01 2024-03-31 0001860543 cdre:InternationalMember 2024-01-01 2024-03-31 0001860543 cdre:CommercialMember 2024-01-01 2024-03-31 0001860543 cdre:CarrSGroupPlcEngineeringDivisionMember cdre:DelayedDrawTermLoanA1FacilityMember us-gaap:SubsequentEventMember 2025-04-01 2025-04-30 0001860543 us-gaap:InterestRateSwapMember 2025-01-01 2025-03-31 0001860543 us-gaap:ForeignExchangeForwardMember 2025-01-01 2025-03-31 0001860543 us-gaap:InterestRateSwapMember 2024-01-01 2024-03-31 0001860543 us-gaap:ForeignExchangeForwardMember 2024-01-01 2024-03-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-01-01 2025-03-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001860543 srt:MinimumMember cdre:CanadianCreditFacilityMember 2021-10-14 2021-10-14 0001860543 srt:MaximumMember cdre:CanadianCreditFacilityMember 2021-10-14 2021-10-14 0001860543 cdre:CarrSGroupPlcEngineeringDivisionMember cdre:DelayedDrawTermLoanA1FacilityMember us-gaap:SubsequentEventMember 2025-04-30 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 us-gaap:LetterOfCreditMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 cdre:SwingLineLoansMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 cdre:DelayedDrawTermLoanA2FacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 cdre:DelayedDrawTermLoanA1FacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 us-gaap:LetterOfCreditMember cdre:CanadianCreditFacilityMember 2021-10-14 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:CanadianCreditFacilityMember 2025-03-31 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:CanadianCreditFacilityMember 2024-12-31 0001860543 us-gaap:LetterOfCreditMember cdre:AmendedAndRestatedCreditAgreementMember 2025-03-31 0001860543 srt:MaximumMember 2025-03-31 0001860543 cdre:CashFlowHedgesMember 2025-03-31 0001860543 us-gaap:TradeNamesMember 2025-03-31 0001860543 us-gaap:TradeNamesMember 2024-12-31 0001860543 cdre:ProductsMember 2025-01-01 2025-03-31 0001860543 cdre:ProductsMember 2025-03-31 0001860543 cdre:DistributionServicesMember 2025-03-31 0001860543 cdre:ProductsMember 2024-12-31 0001860543 cdre:DistributionServicesMember 2024-12-31 0001860543 us-gaap:TradeNamesMember 2025-03-31 0001860543 us-gaap:TechnologyBasedIntangibleAssetsMember 2025-03-31 0001860543 us-gaap:NoncompeteAgreementsMember 2025-03-31 0001860543 us-gaap:CustomerRelationshipsMember 2025-03-31 0001860543 us-gaap:TradeNamesMember 2024-12-31 0001860543 us-gaap:TechnologyBasedIntangibleAssetsMember 2024-12-31 0001860543 us-gaap:NoncompeteAgreementsMember 2024-12-31 0001860543 us-gaap:CustomerRelationshipsMember 2024-12-31 0001860543 us-gaap:RetainedEarningsMember 2025-01-01 2025-03-31 0001860543 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001860543 cdre:OtherLiabilitiesNoncurrentMember us-gaap:InterestRateSwapMember 2024-12-31 0001860543 cdre:AccruedLiabilitiesCurrentMember us-gaap:InterestRateSwapMember 2024-12-31 0001860543 cdre:OtherLiabilitiesNoncurrentMember us-gaap:InterestRateSwapMember 2025-03-31 0001860543 cdre:AccruedLiabilitiesCurrentMember us-gaap:InterestRateSwapMember 2025-03-31 0001860543 cdre:InterestRateSwapTwoMember 2025-03-31 0001860543 cdre:InterestRateSwapThreeMember 2025-03-31 0001860543 cdre:InterestRateSwapOneMember 2025-03-31 0001860543 us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2025-03-31 0001860543 us-gaap:OtherCurrentAssetsMember us-gaap:InterestRateSwapMember 2025-03-31 0001860543 cdre:OtherAssetsNoncurrentMember us-gaap:InterestRateSwapMember 2025-03-31 0001860543 us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2024-12-31 0001860543 us-gaap:OtherCurrentAssetsMember us-gaap:InterestRateSwapMember 2024-12-31 0001860543 cdre:OtherAssetsNoncurrentMember us-gaap:InterestRateSwapMember 2024-12-31 0001860543 cdre:InterestRateSwapTwoMember 2025-01-01 2025-03-31 0001860543 cdre:InterestRateSwapThreeMember 2025-01-01 2025-03-31 0001860543 cdre:InterestRateSwapOneMember 2025-01-01 2025-03-31 0001860543 cdre:TermLoanMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2025-03-31 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-31 0001860543 srt:MinimumMember cdre:AmendedAndRestatedCreditAgreementMember us-gaap:SecuredOvernightFinancingRateSofrMember 2024-12-20 2024-12-20 0001860543 srt:MinimumMember cdre:AmendedAndRestatedCreditAgreementMember us-gaap:BaseRateMember 2024-12-20 2024-12-20 0001860543 srt:MaximumMember cdre:AmendedAndRestatedCreditAgreementMember us-gaap:SecuredOvernightFinancingRateSofrMember 2024-12-20 2024-12-20 0001860543 srt:MaximumMember cdre:AmendedAndRestatedCreditAgreementMember us-gaap:BaseRateMember 2024-12-20 2024-12-20 0001860543 srt:MinimumMember cdre:CanadianCreditFacilityMember us-gaap:BaseRateMember 2021-10-14 2021-10-14 0001860543 srt:MinimumMember cdre:CanadianCreditFacilityMember cdre:LondonInterbankOfferedRateMember 2021-10-14 2021-10-14 0001860543 srt:MaximumMember cdre:CanadianCreditFacilityMember us-gaap:BaseRateMember 2021-10-14 2021-10-14 0001860543 srt:MaximumMember cdre:CanadianCreditFacilityMember cdre:LondonInterbankOfferedRateMember 2021-10-14 2021-10-14 0001860543 us-gaap:OperatingSegmentsMember cdre:ProductsMember 2025-01-01 2025-03-31 0001860543 us-gaap:OperatingSegmentsMember cdre:DistributionServicesMember 2025-01-01 2025-03-31 0001860543 us-gaap:MaterialReconcilingItemsMember 2025-01-01 2025-03-31 0001860543 us-gaap:OperatingSegmentsMember cdre:ProductsMember 2024-01-01 2024-03-31 0001860543 us-gaap:OperatingSegmentsMember cdre:DistributionServicesMember 2024-01-01 2024-03-31 0001860543 us-gaap:MaterialReconcilingItemsMember 2024-01-01 2024-03-31 0001860543 us-gaap:CommonStockMember 2025-03-31 0001860543 us-gaap:CommonStockMember 2024-12-31 0001860543 us-gaap:CommonStockMember 2024-03-31 0001860543 us-gaap:CommonStockMember 2023-12-31 0001860543 2024-03-31 0001860543 2023-12-31 0001860543 us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2025-03-31 0001860543 us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2024-12-31 0001860543 cdre:AlphaSafetyIntermediateLlcMember 2024-02-29 2024-02-29 0001860543 cdre:IcorTechnologyInc.Member us-gaap:MeasurementInputDiscountRateMember 2024-01-09 0001860543 cdre:IcorTechnologyInc.Member 2025-03-31 0001860543 cdre:IcorTechnologyInc.Member 2024-12-31 0001860543 srt:MaximumMember cdre:BasedOnFutureCumulativeNetSalesDuringThreeYearPeriodEndedJanuary92027Member cdre:IcorTechnologyInc.Member 2024-01-09 0001860543 cdre:CarrSGroupPlcEngineeringDivisionMember us-gaap:SubsequentEventMember 2025-04-01 2025-04-30 0001860543 cdre:IcorTechnologyInc.Member 2024-01-09 2024-01-09 0001860543 us-gaap:InterestRateSwapMember 2025-03-31 0001860543 us-gaap:ForeignExchangeForwardMember 2025-03-31 0001860543 us-gaap:InterestRateSwapMember 2024-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2025-01-01 2025-03-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001860543 cdre:AlphaSafetyIntermediateLlcMember us-gaap:TrademarksMember 2024-02-29 2024-02-29 0001860543 cdre:AlphaSafetyIntermediateLlcMember us-gaap:TechnologyBasedIntangibleAssetsMember 2024-02-29 2024-02-29 0001860543 cdre:AlphaSafetyIntermediateLlcMember us-gaap:CustomerRelationshipsMember 2024-02-29 2024-02-29 0001860543 cdre:IcorTechnologyInc.Member us-gaap:TrademarksMember 2024-01-09 2024-01-09 0001860543 cdre:IcorTechnologyInc.Member us-gaap:TechnologyBasedIntangibleAssetsMember 2024-01-09 2024-01-09 0001860543 cdre:IcorTechnologyInc.Member us-gaap:CustomerRelationshipsMember 2024-01-09 2024-01-09 0001860543 2025-05-02 0001860543 cdre:KandersCompanyIncMember 2025-01-01 2025-03-31 0001860543 cdre:KandersCompanyIncMember 2024-01-01 2024-03-31 0001860543 us-gaap:OverAllotmentOptionMember 2024-04-01 2024-04-01 0001860543 cdre:SecondaryOfferingMember 2024-03-19 2024-03-19 0001860543 srt:MinimumMember cdre:RevolvingCreditFacilityDelayedDrawTermLoanA1FacilityAndDelayedDrawTermLoanA2FacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 srt:MaximumMember cdre:RevolvingCreditFacilityDelayedDrawTermLoanA1FacilityAndDelayedDrawTermLoanA2FacilityMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 0001860543 2025-03-31 0001860543 2024-12-31 0001860543 cdre:PeriodAfterQuarterEndedMarch312026Member cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 2024-12-20 0001860543 cdre:EachQuarterStartingWithQuarterEndedDecember312024Member cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 2024-12-20 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:CanadianCreditFacilityMember 2021-10-14 0001860543 cdre:TermLoanMember cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 2024-12-20 0001860543 cdre:AmendedAndRestatedCreditAgreementMember 2024-12-20 2024-12-20 0001860543 cdre:EachQuarterStartingWithQuarterEndedDecember312024Member 2024-12-20 2024-12-20 0001860543 us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2025-03-31 0001860543 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2025-03-31 0001860543 us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2024-12-31 0001860543 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2024-12-31 0001860543 cdre:AlphaSafetyIntermediateLlcMember 2024-02-29 0001860543 cdre:IcorTechnologyInc.Member 2024-01-09 0001860543 cdre:IcorTechnologyInc.Member 2025-01-01 2025-03-31 0001860543 2024-01-01 2024-03-31 0001860543 2025-01-01 2025-03-31 iso4217:USD pure cdre:item shares iso4217:CAD iso4217:USD shares cdre:segment 0001860543 --12-31 2025 Q1 false 0 0 40607988 http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#OtherAssetsCurrent http://fasb.org/us-gaap/2024#OtherAssetsCurrent http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent 40659585 0.36 10-Q true 2025-03-31 false 001-40698 CADRE HOLDINGS, INC. DE 38-3873146 13386 International Pkwy Jacksonville, FL 32218 904 741-5400 Common Stock, par value $0.0001 per share CDRE NYSE Yes Yes Accelerated Filer false true false false 40659585 133431000 124933000 858000 876000 82902000 93523000 91786000 82351000 17039000 19027000 7357000 7737000 332515000 327571000 56244000 54384000 45080000 45243000 15595000 15454000 4640000 4552000 105884000 107544000 148611000 148157000 3968000 4192000 656293000 652713000 32122000 29644000 41604000 46413000 8560000 6693000 11380000 11375000 93666000 94125000 209134000 211830000 10983000 10733000 18101000 18758000 6847000 5752000 338731000 341198000 0.0001 0.0001 10000000 10000000 0 0 0.0001 0.0001 190000000 190000000 40659585 40607988 4000 4000 307625000 306821000 -1535000 -1389000 11468000 6079000 317562000 311515000 656293000 652713000 130106000 137860000 73975000 80232000 56131000 57628000 41753000 40719000 698000 3087000 128000 1843000 42579000 45649000 13552000 11979000 2231000 1637000 1287000 -1444000 -944000 -3081000 12608000 8898000 3360000 1970000 9248000 6928000 0.23 0.18 0.23 0.18 40618554 37946576 40980861 38554185 9248000 6928000 -750000 1660000 263000 894000 -1013000 766000 867000 -412000 -146000 354000 9102000 7282000 250000 546000 190000 284000 119000 99000 9248000 6928000 3856000 3942000 500000 149000 769000 533000 1546000 1968000 2067000 331000 451000 -17000 480000 731000 -934000 41000 52000 -10633000 -2696000 9143000 -1818000 -1340000 -2028000 -1168000 -21723000 17391000 2137000 1309000 1343000 141293000 -1309000 -142636000 5500000 5500000 80000000 2813000 2500000 1083000 844000 1140000 5311000 73535000 722000 3859000 3289000 -7812000 139786000 228000 74000 8498000 -639000 124933000 87691000 133431000 87052000 2017000 9369000 3527000 2498000 104000 210000 24000 40607988 4000 306821000 -1389000 6079000 311515000 9248000 9248000 0.095 3859000 3859000 1968000 1968000 86006 34409 1164000 1164000 867000 867000 -1013000 -1013000 40659585 4000 307625000 -1535000 11468000 317562000 37587436 4000 212630000 634000 -16106000 197162000 6928000 6928000 0.0875 3289000 3289000 2200000 72813000 72813000 2044000 2044000 423688 150680 5311000 5311000 -412000 -412000 766000 766000 40060444 4000 282176000 988000 -12467000 270701000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 6pt 0pt;">1.    SIGNIFICANT ACCOUNTING POLICIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Nature of Operations and Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 20 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France, and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Principles of Consolidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">The accompanying condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles ("GAAP" or “U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting, and include the accounts of the Company, its wholly owned subsidiaries, and other entities consolidated as required by GAAP. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited financial statements. The unaudited condensed consolidated interim financial statements have been prepared on a basis consistent with the audited consolidated financial statements and include all adjustments, which are normal and recurring in nature, necessary for fair financial statement presentation. These condensed consolidated interim financial statements and notes thereto should be read in conjunction with the Company’s most recently completed annual consolidated financial statements. All adjustments considered necessary for a fair presentation have been included. All intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;padding-bottom:6pt;margin:0pt;">Secondary Offering</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;background:#ffffff;margin:0pt 0pt 12pt 0pt;">On March 19, 2024, the Company completed a secondary offering in which the Company issued and sold 2,200,000 shares of common stock at a price of $35.00 per share. The Company’s net proceeds from the sale of shares were $72,813 after underwriter discounts and commissions, fees and expenses of $4,187.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">On April 1, 2024, the underwriters exercised the full amount of their over-allotment option and purchased an additional 545,719 shares of common stock <span style="background:#ffffff;">at a price of </span><span style="background:#ffffff;">$35.00</span><span style="background:#ffffff;"> per share, resulting in net proceeds to the Company of </span><span style="background:#ffffff;">$18,280</span><span style="background:#ffffff;"> after underwriter discounts and commissions, fees and expenses of </span><span style="background:#ffffff;">$820</span><span style="background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Emerging Growth Company</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation, and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our condensed consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The preparation of these condensed consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, <i style="font-style:italic;">Fair Value Measurements and Disclosures,</i> which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s financial instruments consist principally of cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">The following table presents our fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:30.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:32.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:22.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:23.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,370</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,370</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,671</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,671</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Derivative instruments (Note 7)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,095</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,095</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Derivative instruments (Note 7)</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 843</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 843</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Contingent consideration (Note 2)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">There were no transfers of assets or liabilities between levels during the three months ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">There have not been material changes in the fair value of debt (Level 2), as compared to the carrying value, as of March 31, 2025 and December 31, 2024<span style="background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#212529;background:#ffffff;">The Company has certain long-term contracts that contain performance obligations that are satisfied over time. The Company invoices the customer once the billing milestone is reached and collects under customary short-term credit terms. For long-term contracts, the Company recognizes revenue using the input method based on costs incurred, as this method is an appropriate measure of progress toward the complete satisfaction of the performance obligation. Due to uncertainties inherent in the estimation process, it is possible that estimates of costs to complete a performance obligation will be revised in the near-term. For those performance obligations for which revenue is recognized using a cost-to-cost input method, changes in total estimated costs, and related progress towards complete satisfaction of the performance obligation, are recognized on a cumulative catch-up basis in the period in which the revisions to the estimates are made. When the current estimate of total costs for a performance obligation indicates a loss, a provision for the entire estimated loss on the unsatisfied performance obligation is made in the period in which the loss becomes evident.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying condensed consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s condensed consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Product Warranty</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements, and is recorded in cost of goods sold in the Company’s condensed consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the changes in the Company’s accrued warranties, which are recorded in accrued liabilities in the condensed consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Beginning accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,610</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current period claims</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (74)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (116)</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Provision for current period sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,551</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Net Income per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Basic income per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. <span style="background:#ffffff;">Diluted income per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method.</span> The calculation of weighted average shares outstanding and net income per share are as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,928</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,618,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,946,576</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 607,609</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,980,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,554,185</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.23</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.18</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.23</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.18</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">For the three months ended March 31, 2025 and 2024, equity awards of 776,215 and 328,474, respectively, were outstanding and anti-dilutive and therefore not included in the calculation of net income per share for these periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Recent Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accounting Pronouncements Not Yet Adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">In December 2023, the FASB issued ASU 2023-09, <i style="font-style:italic;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</i>, which requires a public entity to disclose in its rate reconciliation table additional categories of information about federal, state and foreign income taxes and provide more details about the reconciling items in some categories if items meet a quantitative threshold. The guidance will require all entities to disclose income taxes paid, net of refunds, disaggregated by federal (national), state and foreign taxes for annual periods and to disaggregate the information by jurisdiction based on a quantitative threshold. The guidance makes several other changes to the disclosure requirements. All entities are required to apply the guidance prospectively, with the option to apply it retrospectively. The guidance is effective for public business entities for fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the enhanced disclosure requirements, however, we do not anticipate a material change to our financial position, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Nature of Operations and Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 20 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France, and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.</p> 20 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Principles of Consolidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">The accompanying condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles ("GAAP" or “U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting, and include the accounts of the Company, its wholly owned subsidiaries, and other entities consolidated as required by GAAP. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited financial statements. The unaudited condensed consolidated interim financial statements have been prepared on a basis consistent with the audited consolidated financial statements and include all adjustments, which are normal and recurring in nature, necessary for fair financial statement presentation. These condensed consolidated interim financial statements and notes thereto should be read in conjunction with the Company’s most recently completed annual consolidated financial statements. All adjustments considered necessary for a fair presentation have been included. All intercompany balances and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;padding-bottom:6pt;margin:0pt;">Secondary Offering</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;background:#ffffff;margin:0pt 0pt 12pt 0pt;">On March 19, 2024, the Company completed a secondary offering in which the Company issued and sold 2,200,000 shares of common stock at a price of $35.00 per share. The Company’s net proceeds from the sale of shares were $72,813 after underwriter discounts and commissions, fees and expenses of $4,187.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">On April 1, 2024, the underwriters exercised the full amount of their over-allotment option and purchased an additional 545,719 shares of common stock <span style="background:#ffffff;">at a price of </span><span style="background:#ffffff;">$35.00</span><span style="background:#ffffff;"> per share, resulting in net proceeds to the Company of </span><span style="background:#ffffff;">$18,280</span><span style="background:#ffffff;"> after underwriter discounts and commissions, fees and expenses of </span><span style="background:#ffffff;">$820</span><span style="background:#ffffff;">.</span></p> 2200000 35 72813000 4187000 545719 35 18280000 820000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 6pt 0pt;">Emerging Growth Company</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation, and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our condensed consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The preparation of these condensed consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, <i style="font-style:italic;">Fair Value Measurements and Disclosures,</i> which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 54pt;">Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s financial instruments consist principally of cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash and cash equivalents (money market funds), accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">The following table presents our fair value hierarchy for those assets and liabilities measured at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:30.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:32.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:22.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:23.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,370</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,370</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,671</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,671</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Derivative instruments (Note 7)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,095</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,095</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Derivative instruments (Note 7)</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 843</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 843</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Contingent consideration (Note 2)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">There were no transfers of assets or liabilities between levels during the three months ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">There have not been material changes in the fair value of debt (Level 2), as compared to the carrying value, as of March 31, 2025 and December 31, 2024<span style="background:#ffffff;">.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:30.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:32.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:22.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:23.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,370</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,370</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,671</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,671</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Derivative instruments (Note 7)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,095</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,095</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Derivative instruments (Note 7)</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 843</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 843</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:33.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Contingent consideration (Note 2)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td></tr></table> 26370000 26370000 110671000 110671000 3095000 3095000 4465000 4465000 843000 843000 3559000 3559000 3211000 3211000 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#212529;background:#ffffff;">The Company has certain long-term contracts that contain performance obligations that are satisfied over time. The Company invoices the customer once the billing milestone is reached and collects under customary short-term credit terms. For long-term contracts, the Company recognizes revenue using the input method based on costs incurred, as this method is an appropriate measure of progress toward the complete satisfaction of the performance obligation. Due to uncertainties inherent in the estimation process, it is possible that estimates of costs to complete a performance obligation will be revised in the near-term. For those performance obligations for which revenue is recognized using a cost-to-cost input method, changes in total estimated costs, and related progress towards complete satisfaction of the performance obligation, are recognized on a cumulative catch-up basis in the period in which the revisions to the estimates are made. When the current estimate of total costs for a performance obligation indicates a loss, a provision for the entire estimated loss on the unsatisfied performance obligation is made in the period in which the loss becomes evident.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying condensed consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s condensed consolidated statements of operations and comprehensive income.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Product Warranty</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements, and is recorded in cost of goods sold in the Company’s condensed consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the changes in the Company’s accrued warranties, which are recorded in accrued liabilities in the condensed consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Beginning accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,610</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current period claims</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (74)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (116)</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Provision for current period sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,551</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Beginning accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,610</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current period claims</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (74)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (116)</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Provision for current period sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,551</p></td></tr></table> 1760000 1610000 74000 116000 8000 57000 1694000 1551000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Net Income per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Basic income per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. <span style="background:#ffffff;">Diluted income per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method.</span> The calculation of weighted average shares outstanding and net income per share are as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,928</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,618,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,946,576</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 607,609</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,980,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,554,185</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.23</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.18</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.23</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.18</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">For the three months ended March 31, 2025 and 2024, equity awards of 776,215 and 328,474, respectively, were outstanding and anti-dilutive and therefore not included in the calculation of net income per share for these periods.</p> <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,928</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,618,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,946,576</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 607,609</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,980,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,554,185</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.23</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.18</p></td></tr><tr><td style="vertical-align:bottom;width:73.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.23</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.18</p></td></tr></table> 9248000 6928000 40618554 37946576 362307 607609 40980861 38554185 0.23 0.18 0.23 0.18 776215 328474 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;">Recent Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accounting Pronouncements Not Yet Adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">In December 2023, the FASB issued ASU 2023-09, <i style="font-style:italic;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</i>, which requires a public entity to disclose in its rate reconciliation table additional categories of information about federal, state and foreign income taxes and provide more details about the reconciling items in some categories if items meet a quantitative threshold. The guidance will require all entities to disclose income taxes paid, net of refunds, disaggregated by federal (national), state and foreign taxes for annual periods and to disaggregate the information by jurisdiction based on a quantitative threshold. The guidance makes several other changes to the disclosure requirements. All entities are required to apply the guidance prospectively, with the option to apply it retrospectively. The guidance is effective for public business entities for fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the enhanced disclosure requirements, however, we do not anticipate a material change to our financial position, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2.    ACQUISITIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">ICOR Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">On January 9, 2024, Med-Eng, ULC, a wholly-owned subsidiary of the Company, completed the acquisition of <span style="background:#ffffff;">ICOR Technology Inc. (“ICOR”)</span>, a trusted global supplier of high-quality, reliable, innovative, and cost-effective explosive ordnance disposal robots. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 10pt 0pt;">Total consideration, net of cash acquired, was $39,282 for 100% of the equity interests in ICOR. The total consideration was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,350</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,068)</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plus: Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,226</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,508</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the ICOR acquisition is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,508</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,352</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,086</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 612</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 239</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,369</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,200</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,602</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,460</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 635</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,455</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 967</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,895</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,952</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,508</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">In connection with the acquisition, the Company acquired exclusive rights to ICOR’s trademarks, customer relationships, and product technologies. The amounts assigned to each class of intangible asset and the related average useful lives are as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">The full amount of goodwill of </span><span style="background:#ffffff;">$18,602</span><span style="background:#ffffff;"> is expected to be non-deductible for tax purposes. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">As part of the ICOR acquisition, the purchase agreement with respect to the acquisition provided for the payment of contingent consideration of up to </span>CDN<span style="background:#ffffff;">$8,000</span><span style="background:#ffffff;"> (approximately </span><span style="background:#ffffff;">$5,797</span><span style="background:#ffffff;">) based upon future cumulative net sales during the three-year period ended January 9, 2027. Using a Monte-Carlo pricing model, the Company estimated the fair value of the contingent consideration to be </span><span style="background:#ffffff;">$2,225</span><span style="background:#ffffff;"> as of January 9, 2024. Significant unobservable inputs used in the valuation include a discount rate of </span><span style="background:#ffffff;">6.2%</span><span style="background:#ffffff;"> and the probability adjusted net sales during the contingency period. The contingent consideration liability is remeasured at the estimated fair value at the end of each reporting period with the change in fair value recognized within operating income in the </span>condensed consolidated statements of operations and comprehensive income<span style="background:#ffffff;"> for such period. We measure the initial liability and remeasure the liability on a recurring basis using Level 3 inputs as defined under authoritative guidance for fair value measurements. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">As the contingent consideration liability is remeasured to fair value each reporting period, significant increases or decreases in projected sales, discount rates or the time until payment is made could result in a significantly lower or higher fair value measurement. Our determination of fair value of the contingent consideration liabilities could change in future periods based on our ongoing evaluation of these significant unobservable inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;"><span style="background:#ffffff;">The following table summarizes the changes in the contingent consideration liability</span> for the three months ended March 31, 2025<span style="background:#ffffff;">:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Fair value adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 331</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;background:#ffffff;">Alpha Safety Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">On February 29, 2024, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of <span style="background:#ffffff;">Alpha Safety Intermediate, LLC (“Alpha Safety”)</span>, a provider of highly engineered technical products and services spanning the nuclear value chain. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 10pt 0pt;">Total consideration, net of cash acquired, was $102,531 for 100% of the equity interests in Alpha Safety. The total consideration was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 107,138</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,607)</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,531</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired a</span>nd liabilities assumed is recorded as goodwill. Goodwill for the Alpha Safety acquisition is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,531</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,189</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,527</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,889</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,189</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,262</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57,800</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 49,133</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130,989</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,896</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,570</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,573</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,419</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,458</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,531</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">In connection with the acquisition, the Company acquired exclusive rights to Alpha Safety’s trademarks, customer relationships, and product technologies. The amounts assigned to each class of intangible asset and the related average useful lives are as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">20</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">15</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The full amount of goodwill of </span><span style="background:#ffffff;">$49,133</span><span style="background:#ffffff;"> is expected to be non-deductible for tax purposes.</span></p> 39282000 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,350</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,068)</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Plus: Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,226</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,508</p></td></tr></table> 40350000 1068000 2226000 41508000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,508</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,352</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,086</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 612</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 239</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,369</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,200</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,602</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,460</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 635</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,455</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 967</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,895</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,952</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,508</p></td></tr></table> 41508000 2352000 8086000 612000 239000 1369000 17200000 18602000 48460000 635000 1455000 967000 3895000 6952000 41508000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> 1496000 P10Y 14283000 P10Y 1421000 P10Y 17200000 18602000 8000000 5797000 2225000 6.2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,211</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Fair value adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 331</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,559</p></td></tr></table> 3211000 331000 17000 3559000 102531000 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 107,138</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,607)</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,531</p></td></tr></table> 107138000 4607000 102531000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,531</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,189</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,527</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,889</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,189</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,262</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57,800</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 49,133</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130,989</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,896</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,570</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,573</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,419</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,458</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,531</p></td></tr></table> 102531000 9189000 8527000 1889000 2189000 2262000 57800000 49133000 130989000 1896000 12570000 1573000 12419000 28458000 102531000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">20</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">15</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">10</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> 17900000 P20Y 35200000 P15Y 4700000 P10Y 57800000 49133000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">3.    REVENUE RECOGNITION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The following tables disaggregate net sales by channel and geography:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. state and local agencies (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 74,992</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,265</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. federal agencies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,186</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,437</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 980</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137,860</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(a) Includes all Distribution sales</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,423</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,437</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,860</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Revenue by product is not disclosed, as it is impractical to do so.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Contract Assets and Liabilities</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Contract assets represent unbilled amounts resulting from <span style="color:#212529;background:#ffffff;">certain long-term contracts that contain performance obligations that are satisfied over time. In these contracts, the revenue recognized exceeds the amount billed to the customer. Contract assets are included in accounts receivable, net in the Company’s condensed consolidated balance sheets and totaled </span><span style="color:#212529;background:#ffffff;">$15,300</span><span style="color:#212529;background:#ffffff;"> and </span><span style="color:#212529;background:#ffffff;">$9,550</span><span style="color:#212529;background:#ffffff;"> as of March 31, 2025 and December 31, 2024, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Contract liabilities are recorded as a component of other liabilities when customers are billed or remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s condensed consolidated balance sheets and totaled $5,924 and $7,470 as of March 31, 2025 and December 31, 2024, respectively. Revenue recognized during the three months ended March 31, 2025 from amounts included in contract liabilities as of December 31, 2024 was $2,107.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Remaining Performance Obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">As of March 31, 2025, we had $42,481 of remaining unfulfilled performance obligations, which include amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under ASC Topic 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>, as of March 31, 2025. We expect to recognize approximately 64% of this balance over the next twelve months and expect the <span style="-sec-ix-hidden:Hidden_2PYDRwYpUU-7kZBYy9DdMw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">remainder</span></span> to be recognized in the following two years.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. state and local agencies (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 74,992</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,265</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">U.S. federal agencies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,186</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,437</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 980</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137,860</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(a) Includes all Distribution sales</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,423</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,437</p></td></tr><tr><td style="vertical-align:bottom;width:72.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,860</p></td></tr></table> 73409000 74992000 11019000 11265000 21484000 21186000 22881000 29437000 1313000 980000 130106000 137860000 107225000 108423000 22881000 29437000 130106000 137860000 15300000 9550000 5924000 7470000 2107000 42481000 0.64 P12M P2Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">4.    INVENTORIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth a summary of inventories, stated at lower of cost or net realizable value, as of March 31, 2025 and December 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,209</p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,321</p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials and supplies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,821</p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,786</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,351</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,209</p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,321</p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials and supplies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,821</p></td></tr><tr><td style="vertical-align:bottom;width:70.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,786</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,351</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 36395000 31209000 9904000 8321000 45487000 42821000 91786000 82351000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">5.    GOODWILL AND OTHER INTANGIBLE ASSETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Goodwill</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the changes in goodwill for the three months ended March 31, 2025:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Product</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 145,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,157</p></td></tr><tr><td style="vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 454</p></td></tr><tr><td style="vertical-align:bottom;width:64.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 145,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,611</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Gross goodwill and accumulated impairment losses were $156,196 and $7,585, respectively, as of March 31, 2025 and $155,742 and $7,585, respectively, as of December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Intangible assets such as certain customer relationships and patents on core technologies and product technologies are amortizable over their estimated useful lives. Certain trade names and trademarks which provide exclusive and perpetual rights to manufacture and sell their respective products are deemed indefinite-lived and are therefore not subject to amortization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Intangible assets consisted of the following as of March 31, 2025 and December 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:41.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (70,183)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">17</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (16,956)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">13</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,177)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">9</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,012)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 184,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (95,328)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 201,212</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (95,328)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:9pt;margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:41.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (69,118)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">17</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,600</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (15,819)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,781</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">13</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,941)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">9</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (996)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (92,874)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 90,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 200,418</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (92,874)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 107,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Amortization expense for the three months ended March 31, 2025 and 2024 was $2,095 and $2,215, respectively, of which $1,074 and $690 was included in cost of goods sold in the condensed consolidated statements of operations and comprehensive income for the respective periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The estimated amortization expense for definite-lived intangible assets for the remaining nine months of 2025, the next four years and thereafter is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Remainder of 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,329</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,150</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,977</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,977</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,880</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,400</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,713</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Product</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 145,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,157</p></td></tr><tr><td style="vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 454</p></td></tr><tr><td style="vertical-align:bottom;width:64.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 145,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,611</p></td></tr></table> 145541000 2616000 148157000 454000 454000 145995000 2616000 148611000 156196000 7585000 155742000 7585000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:41.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (70,183)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">17</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (16,956)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">13</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7,177)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">9</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,012)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 184,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (95,328)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 201,212</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (95,328)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:9pt;margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:41.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 105,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (69,118)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">17</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 64,600</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (15,819)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,781</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">13</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,941)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">9</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (996)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 183,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (92,874)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 90,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite-lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:56.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 200,418</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (92,874)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 107,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table> 105602000 70183000 35419000 P17Y 64744000 16956000 47788000 P13Y 12683000 7177000 5506000 P9Y 1012000 1012000 184041000 95328000 88713000 17171000 17171000 201212000 95328000 105884000 105060000 69118000 35942000 P17Y 64600000 15819000 48781000 P13Y 12596000 6941000 5655000 P9Y 996000 996000 183252000 92874000 90378000 17166000 17166000 200418000 92874000 107544000 2095000 2215000 1074000 690000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Remainder of 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,329</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,150</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,977</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,977</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,880</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,400</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,713</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 6329000 8150000 7977000 7977000 7880000 50400000 88713000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">6.    DEBT</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company’s debt is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,250</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 125</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,375</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Revolver</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 210,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 213,750</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 251</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214,001</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unamortized debt discount and debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,063)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,171)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 209,134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,830</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The following summarizes the aggregate principal payments of our long-term debt, excluding debt discount and debt issuance costs, for the remaining nine months of 2025, the next four years and thereafter:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Remainder of 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,567</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,380</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,380</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,250</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,000</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total principal payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 222,577</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">2024 Credit Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">On December 20, 2024 (the “2024 Credit Agreement Closing Date”), the Company refinanced its existing credit facilities and entered into an Amended and Restated Credit Agreement (the “2024 Credit Agreement”), whereby Safariland, LLC, as borrower (the “2024 Borrower”), the Company, and certain domestic subsidiaries of the 2024 Borrower, as guarantors (the “2024 Guarantors”), closed on and received funding under the 2024 Credit Agreement with PNC, as administrative agent, swingline lender, and issuing lender, along with several other lenders (collectively, the “2024 Lenders”). The 2024 Credit Agreement amends and restates the prior credit agreement in its entirety.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Pursuant to the 2024 Credit Agreement, the 2024 Borrower (i) borrowed $225,000 under a term loan facility (the “2024 Term Loans”), (ii) may borrow up to $175,000 under a revolving credit facility (the “2024 Revolving Loan”), including up to $30,000 for letters of credit and up to $10,000 for swingline loans, (iii) may borrow up to $115,000 under a delayed draw term loan A-1 facility (the “DDTL A-1 Facility”) available through June 20, 2025, and (iv) may borrow up to $75,000 under a delayed draw term loan A-2 facility (the “DDTL A-2 Facility”) available through June 20, 2026. Each of these facilities matures on December 20, 2029. The proceeds of the 2024 Term Loans were used to refinance the outstanding term loans under the 2021 Credit Agreement and to pay fees and expenses incurred in connection with entering into the 2024 Credit Agreement. The 2024 Credit Agreement also permits the 2024 Borrower, subject to certain requirements, to arrange with lenders for an aggregate of $100,000 (or more if certain leverage ratios are met) of additional revolving and/or term loan commitments (both of which are currently uncommitted).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The 2024 Borrower may elect to have borrowings under the 2024 Credit Agreement bear interest at either (i) a base rate plus an applicable margin ranging from 0.50% to 1.50% per annum or (ii) a term SOFR rate plus an applicable margin ranging from 1.50% to 2.50% per annum, in each case based on the Company’s consolidated total net leverage ratio. The 2024 Borrower is also required to pay a commitment fee on the unused portion of the 2024 Revolving Loan, the DDTL A-1 Facility, and the DDTL A-2 Facility, ranging from 0.175% to 0.25% per annum, based on the Company’s consolidated total net leverage ratio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The 2024 Term Loans require scheduled quarterly principal payments of 1.25% of the original aggregate principal amount, beginning March 31, 2025, with the balance due at maturity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The 2024 Credit Agreement is guaranteed, jointly and severally, by the 2024 Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the 2024 Borrower and the 2024 Guarantors pursuant to an Amended and Restated Security and Pledge Agreement and an Amended and Restated Guaranty and Suretyship Agreement, each dated as of the 2024 Credit Agreement Closing Date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The 2024 Credit Agreement contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the 2024 Borrower or any 2024 Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. Additionally, the 2024 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of </span><span style="background:#ffffff;">1.25</span><span style="background:#ffffff;"> to 1.00, starting with the quarter ended December 31, 2024, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of </span><span style="background:#ffffff;">4.00</span><span style="background:#ffffff;"> to 1.00 from the quarter ended December 31, 2024 until the quarter ended March 31, 2026, and thereafter </span><span style="background:#ffffff;">3.50</span><span style="background:#ffffff;"> to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to </span><span style="background:#ffffff;">0.50</span><span style="background:#ffffff;"> to 1.00 for four fiscal quarters following such acquisition, subject to a maximum consolidated total net leverage ratio of </span><span style="background:#ffffff;">4.00</span><span style="background:#ffffff;"> to 1.00. Furthermore, the 2024 Credit Agreement also includes customary events of default, including non-payment of principal, interest, or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payments on other material indebtedness, bankruptcy and insolvency events, material judgments, and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2024 Credit Agreement may be accelerated, and the Lenders could foreclose on their security interests in the assets of the Borrower and the Guarantors.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">There were no amounts outstanding under the 2024 Revolving Loan as of March 31, 2025 and December 31, 2024. As of March 31, 2025, there were $2,165 in outstanding letters of credit and $172,835 of availability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Canadian Credit Facility</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10,000 under a revolving line of credit (including up to $3,000 for letters of credit) (the “Revolving Canadian Loan”). <span style="background:#ffffff;">The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement </span>(the “Canadian Guaranty Agreement”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">There were no amounts outstanding under the Revolving Canadian Loan as of March 31, 2025 and December 31, 2024.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,250</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 125</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,375</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Revolver</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 210,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 213,750</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 259</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 251</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214,001</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unamortized debt discount and debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,063)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,171)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 209,134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,830</p></td></tr></table> 11250000 11250000 130000 125000 11380000 11375000 210938000 213750000 259000 251000 211197000 214001000 2063000 2171000 209134000 211830000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Remainder of 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,567</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,380</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,380</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,250</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 180,000</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total principal payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 222,577</p></td></tr></table> 8567000 11380000 11380000 11250000 180000000 222577000 225000000 175000000 30000000 10000000 115000000 75000000 100000000 0.005 0.015 0.015 0.025 0.00175 0.0025 0.0125 1.25 4 3.5 0.5 4 0 0 2165000 172835000 10000000 3000000 0.005 0.015 0.015 0.025 0.00175 0.0025 0.0025 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7.    DERIVATIVE INSTRUMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Interest Rate Swaps</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">We entered into interest rate swap agreements to hedge forecasted monthly interest rate payments on our floating rate debt. Under the terms of the interest rate swap agreements (“Swap Agreements”), we receive payments based on the 1-month SOFR (4.32% as of March 31, 2025). We had the following Swap Agreements as of March 31, 2025:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Effective Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Notional Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fixed Rate</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">September 30, 2021 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 82,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">May 31, 2023 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">February 14, 2025 through December 20, 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,883</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">During the three months ended March 31, 2025, there were no Swap Agreements that expired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">We designated the Swap Agreements as cash flow hedges. A portion of the amount included in accumulated other comprehensive loss is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">It is our policy to execute such instruments with creditworthy banks and not to enter into derivative financial instruments for speculative purposes. We believe our interest rate swap counterparty will be able to fulfill their obligations under our agreements, and we believe we will have debt outstanding through the expiration date of the swap agreements such that the occurrence of future cash flow hedges remains probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The estimated fair value of our Swap Agreements in the condensed consolidated balance sheets was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_tJV_uJRpbUyBWRYC0g-NQQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,749</p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_RRac2U3e5Uezj_06ZOUnUA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,298</p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_5-OuiTO9b0e7PXzr6YakrA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_l55b9NlqYkSdwtPTtZcs_g;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">A cumulative gain, net of tax, of $1,645 and $2,917 is recorded in accumulated other comprehensive loss as of March 31, 2025 and December 31, 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The amount of loss, net of tax, recognized in other comprehensive (loss) income for the three months ended March 31, 2025 and 2024 was $695 and $1,568, respectively. There was a gain, net of tax, of $577 and $872 reclassified from accumulated other comprehensive loss into earnings for the three months ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">As of March 31, 2025, approximately $2,318 is expected to be reclassified from accumulated other comprehensive loss into interest expense over the next 12 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Foreign Currency Hedge</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">We entered into forward contracts to hedge forecasted Mexican Peso (“MXN”) denominated costs associated with our Mexican subsidiary. These contracts are designated as cash flow hedges to manage foreign currency transaction risk and are measured at fair value and reported as current assets or current liabilities in the condensed consolidated balance sheets. Any changes in the fair value of designated cash flow hedges are recorded in other comprehensive (loss) income and are reclassified from accumulated other comprehensive loss into earnings in the period the hedged item impacts earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">As of March 31, 2025, the Company had outstanding contracts with a total notional amount of $94,313 MXN and recognized a cumulative loss, net of tax, of $55 in accumulated other comprehensive loss. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company recognized a loss, net of tax, of $55 and a gain, net of tax, of $92 in other comprehensive (loss) income for the three months ended March 31, 2025 and 2024, respectively. There was a loss, net of tax, of $314 and $22 reclassified from accumulated other comprehensive loss into earnings for the three months ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">As of March 31, 2025, approximately $55 is expected to be reclassified from accumulated other comprehensive loss into earnings over the next 12 months.</p> 0.0432 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Effective Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Notional Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fixed Rate</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">September 30, 2021 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 82,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">May 31, 2023 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">February 14, 2025 through December 20, 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,883</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table> 2021-09-30 2026-07-23 82500000 0.00812 2023-05-31 2026-07-23 45000000 0.03905 2025-02-14 2029-12-20 38883000 0.0408 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_tJV_uJRpbUyBWRYC0g-NQQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,749</p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_RRac2U3e5Uezj_06ZOUnUA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,298</p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_5-OuiTO9b0e7PXzr6YakrA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:74.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_l55b9NlqYkSdwtPTtZcs_g;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 2479000 2749000 616000 1298000 63000 707000 1645000 2917000 695000 1568000 577000 872000 2318000 94313000 55000 55000 92000 314000 22000 55000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8.    COMMITMENTS AND CONTINGENCIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Legal Proceedings</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company is also involved in various legal disputes and other legal proceedings and claims that arise from time to time in the ordinary course of business. The Company vigorously defends itself against all lawsuits and evaluates the amount of reasonably possible losses that the Company could incur as a result of these matters. While any litigation contains an element of uncertainty, the Company believes that the reasonably possible losses that the Company could incur in excess of insurance coverage would not have a material adverse effect on the Company’s consolidated financial position, results of operations, or liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Insurance</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company has various insurance policies, including product liability insurance, covering risks and in amounts it considers adequate. There can be no assurance that the insurance coverage maintained by the Company is sufficient or will be available in adequate amounts or at a reasonable cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">International</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">As an international company, we are, from time to time, the subject of investigations related to the Company’s international operations, including under U.S. export control laws (such as ITAR), the FCPA and other similar U.S. and foreign laws. To the best of the Company’s knowledge, there are not any potential or pending investigations at this time.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9.    INCOME TAXES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company and its subsidiaries file income tax returns in the U.S. federal, various state and local, and certain foreign jurisdictions. As of March 31, 2025, the Company’s tax years subsequent to 2017 are subject to examination by tax authorities with few exceptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The effective tax rate was 26.6% for the three months ended March 31, 2025 and was higher than the statutory rate primarily due to state taxes and non-deductible executive compensation. The effective tax rate was 22.1% for the three months ended March 31, 2024 and was <span style="color:#212529;background:#ffffff;">lower than the statutory rate primarily due to the vesting of stock compensation, partially offset by non-deductible executive compensation</span>.</p> 0.266 0.221 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10.     LEASES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company leases certain manufacturing and office space, retail locations, and equipment. Operating lease assets and liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. The Company has elected the practical expedient and does not recognize a lease liability or right-of-use (“ROU”) asset for short-term leases (leases with a term of twelve months or less). The Company uses its incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments. The Company’s incremental borrowing rate is the rate for collateralized borrowings based on the current economic environment, credit history, credit rating, value of leases, currency in which the lease obligation is satisfied, rate sensitivity, lease term and materiality. Our operating leases have remaining contractual terms of up to five years, some of which include options to extend the leases for up to five years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The amount of assets and liabilities related to our operating leases were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:48.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,595</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,454</p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_qVsHeaDZqUCBhaqPQY8x5Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,721</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,824</p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term:</p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,733</p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,704</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,557</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the condensed consolidated statements of operations and comprehensive income. The components of lease expense were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fixed operating lease costs<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,149</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Variable operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 410</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 255</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,404</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt 0pt 12pt 0pt;">(1) Includes short-term leases, which are immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The weighted average remaining lease term and weighted average discount rate is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average remaining lease term (years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.52</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.07</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.19%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.14%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The estimated future minimum lease payments under operating leases for the remaining nine months of 2025, the next four years and thereafter is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Remainder of 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,900</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,554</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,474</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,513</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,539</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,145</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,125</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Amount representing interest </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,421)</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,704</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Supplemental cash flow information related to leases is as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating cash flows - operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,073</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,349</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> P5Y true P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The amount of assets and liabilities related to our operating leases were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:48.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,595</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,454</p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current:</p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_qVsHeaDZqUCBhaqPQY8x5Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,721</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,824</p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term:</p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,733</p></td></tr><tr><td style="vertical-align:bottom;width:27.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,704</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,557</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the condensed consolidated statements of operations and comprehensive income. The components of lease expense were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fixed operating lease costs<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,149</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Variable operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 410</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 255</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,404</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt 0pt 12pt 0pt;">(1) Includes short-term leases, which are immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The weighted average remaining lease term and weighted average discount rate is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average remaining lease term (years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.52</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.07</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.19%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.14%</p></td></tr></table> 15595000 15454000 4721000 4824000 10983000 10733000 15704000 15557000 1420000 1149000 410000 255000 1830000 1404000 P3Y6M7D P3Y25D 0.0319 0.0314 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Remainder of 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,900</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,554</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,474</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,513</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,539</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,145</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,125</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Amount representing interest </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,421)</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,704</p></td></tr></table> 3900000 4554000 3474000 2513000 1539000 1145000 17125000 1421000 15704000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating cash flows - operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,073</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,349</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 1476000 1073000 1940000 1349000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">11.     RELATED PARTY TRANSACTIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The Company leases some distribution warehouses and retail stores from certain employees. The Company recorded rent expense related to these leases of $128 and $93 for the three months ended March 31, 2025 and 2024, respectively. Rent expense related to these leases is included in related party expense in the Company’s condensed consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:0.2pt;background:#ffffff;">During the three months ended March 31, 2024, the Company paid </span><span style="letter-spacing:0.2pt;background:#ffffff;">$1,750</span><span style="letter-spacing:0.2pt;background:#ffffff;"> to Kanders &amp; Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer, for services related to the acquisition of Alpha Safety,</span><span style="background:#ffffff;"> which is included in related party expense in the Company’s </span>condensed <span style="background:#ffffff;">consolidated statements of operations and comprehensive income</span><span style="letter-spacing:0.2pt;background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">There were </span><span style="background:#ffffff;">no</span><span style="background:#ffffff;"> payments made to Kanders &amp; Company, Inc. for the three months ended March 31, 2025.</span></p> 128000 93000 1750000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">12.     SEGMENT DATA</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">Our segment disclosure is intended to provide the users of our consolidated financial statements with a view of the business that is consistent with management of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;">Our operations are comprised of two operating and reportable segments: Product and Distribution. T<span style="background:#ffffff;">he Product segment</span> is comprised of components that manufacture and sell products, while the Distribution segment is comprised of our business that serves as a one-stop shop for law enforcement agencies that sells goods produced by the Product segment, as well as other third-party products<span style="background:#ffffff;">. </span>Segment information is consistent with how the chief operating decision maker (“CODM”), our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance. The CODM evaluates segment performance and </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">decides how to allocate resources based on segment gross profit. The CODM is not regularly provided asset information or operating expenses by segment as that information is not available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 112,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,491)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130,106</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 62,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,841</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,491)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73,975</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 56,131</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 118,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,191</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (9,116)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137,860</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,764</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (9,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80,232</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 51,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (27)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57,628</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments. </p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 112,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,491)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 130,106</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 62,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,841</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,491)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73,975</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 56,131</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 118,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,191</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (9,116)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137,860</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,764</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (9,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80,232</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 51,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (27)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57,628</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments. </p> 112735000 27862000 -10491000 130106000 62625000 21841000 -10491000 73975000 50110000 6021000 56131000 118785000 28191000 -9116000 137860000 67764000 21557000 -9089000 80232000 51021000 6634000 -27000 57628000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13.     SUBSEQUENT EVENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="color:#212529;font-style:italic;background:#ffffff;">Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">In April 2025, the Company acquired Carr’s Engineering Limited (excluding Chirton Engineering) and Carr's Engineering (US), Inc. (together the “Nuclear Engineering Division”), each a subsidiary of Carr’s Group plc, for approximately $99,750.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">The acquisition will be accounted for using the acquisition method of accounting whereby the acquired assets and liabilities of the acquired companies will be recorded at their respective fair values and added to those of the Company, including an amount for goodwill representing the difference between the acquisition consideration and the fair value of the identifiable net assets. Results of operations of the acquired companies will be included in the operations of the Company beginning on the closing date. As of the date of the filing of this Form 10-Q, the initial purchase price allocation has not been prepared as there has not been sufficient time to complete the related activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="color:#212529;font-style:italic;background:#ffffff;">Long-Term Debt</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;">In April 2025, in connection with the acquisition of the Nuclear Engineering Division, the Company drew $97,500 of the $115,000 available under the DDTL- A-1 Facility. The DDTL- A-1 Facility has the same terms and conditions as the 2024 Term Loan including such items as interest rate, quarterly amortization payment requirements, and maturity date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#212529;font-style:italic;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p> 99750000 97500000 115000000 false false false false