0001437749-22-025970.txt : 20221104 0001437749-22-025970.hdr.sgml : 20221104 20221104130159 ACCESSION NUMBER: 0001437749-22-025970 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 73 CONFORMED PERIOD OF REPORT: 20220930 FILED AS OF DATE: 20221104 DATE AS OF CHANGE: 20221104 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Proto Labs Inc CENTRAL INDEX KEY: 0001443669 STANDARD INDUSTRIAL CLASSIFICATION: FABRICATED STRUCTURAL METAL PRODUCTS [3440] IRS NUMBER: 000000000 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-35435 FILM NUMBER: 221361357 BUSINESS ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 BUSINESS PHONE: 763-479-7474 MAIL ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 10-Q 1 prlb20220930_10q.htm FORM 10-Q prlb20220930_10q.htm
0001443669 Proto Labs Inc false --12-31 Q3 2022 1,821 1,948 0.001 0.001 10,000,000 10,000,000 0 0 0 0 0.001 0.001 150,000,000 150,000,000 27,326,750 27,326,750 27,465,945 27,465,945 930 783 147 930 713 217 11.6 4.6 10 6 10 4 3 4 0 3 00014436692022-01-012022-09-30 xbrli:shares 00014436692022-11-01 iso4217:USD 00014436692022-09-30 00014436692021-12-31 iso4217:USDxbrli:shares 00014436692022-07-012022-09-30 00014436692021-07-012021-09-30 00014436692021-01-012021-09-30 0001443669us-gaap:CommonStockMember2021-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2021-12-31 0001443669us-gaap:RetainedEarningsMember2021-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 0001443669us-gaap:CommonStockMember2022-01-012022-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-31 00014436692022-01-012022-03-31 0001443669us-gaap:RetainedEarningsMember2022-01-012022-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-31 0001443669us-gaap:CommonStockMember2022-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2022-03-31 0001443669us-gaap:RetainedEarningsMember2022-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-31 00014436692022-03-31 0001443669us-gaap:CommonStockMember2022-04-012022-06-30 0001443669us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-30 0001443669us-gaap:RetainedEarningsMember2022-04-012022-06-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-30 00014436692022-04-012022-06-30 0001443669us-gaap:CommonStockMember2022-06-30 0001443669us-gaap:AdditionalPaidInCapitalMember2022-06-30 0001443669us-gaap:RetainedEarningsMember2022-06-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-30 00014436692022-06-30 0001443669us-gaap:CommonStockMember2022-07-012022-09-30 0001443669us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-30 0001443669us-gaap:RetainedEarningsMember2022-07-012022-09-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-30 0001443669us-gaap:CommonStockMember2022-09-30 0001443669us-gaap:AdditionalPaidInCapitalMember2022-09-30 0001443669us-gaap:RetainedEarningsMember2022-09-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-09-30 0001443669us-gaap:CommonStockMember2020-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2020-12-31 0001443669us-gaap:RetainedEarningsMember2020-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-31 00014436692020-12-31 0001443669us-gaap:CommonStockMember2021-01-012021-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2021-01-012021-03-31 00014436692021-01-012021-03-31 0001443669us-gaap:RetainedEarningsMember2021-01-012021-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-03-31 0001443669us-gaap:CommonStockMember2021-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2021-03-31 0001443669us-gaap:RetainedEarningsMember2021-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-03-31 00014436692021-03-31 0001443669us-gaap:CommonStockMember2021-04-012021-06-30 0001443669us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-30 0001443669us-gaap:RetainedEarningsMember2021-04-012021-06-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-04-012021-06-30 00014436692021-04-012021-06-30 0001443669us-gaap:CommonStockMember2021-06-30 0001443669us-gaap:AdditionalPaidInCapitalMember2021-06-30 0001443669us-gaap:RetainedEarningsMember2021-06-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-06-30 00014436692021-06-30 0001443669us-gaap:CommonStockMember2021-07-012021-09-30 0001443669us-gaap:AdditionalPaidInCapitalMember2021-07-012021-09-30 0001443669us-gaap:RetainedEarningsMember2021-07-012021-09-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-07-012021-09-30 0001443669us-gaap:CommonStockMember2021-09-30 0001443669us-gaap:AdditionalPaidInCapitalMember2021-09-30 0001443669us-gaap:RetainedEarningsMember2021-09-30 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-09-30 00014436692021-09-30 0001443669us-gaap:DisposalGroupDisposedOfByMeansOtherThanSaleNotDiscontinuedOperationsMemberprlb:ManufacturingFacilityInJapanMember2022-07-012022-09-30 0001443669us-gaap:DisposalGroupDisposedOfByMeansOtherThanSaleNotDiscontinuedOperationsMemberprlb:ManufacturingFacilityInJapanMember2022-01-012022-09-30 0001443669prlb:Acquired3dHubsMember2021-01-222021-01-22 0001443669prlb:Acquired3dHubsMember2021-01-22 0001443669prlb:Acquired3dHubsMemberus-gaap:CashMember2021-01-222021-12-31 0001443669prlb:Acquired3dHubsMemberus-gaap:CommonStockMembersrt:MaximumMember2021-01-222021-01-22 0001443669prlb:Acquired3dHubsMemberus-gaap:CommonStockMembersrt:MaximumMember2021-01-22 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2022-09-30 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2021-12-31 utr:Y 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2022-01-012022-09-30 0001443669us-gaap:NoncompeteAgreementsMember2022-09-30 0001443669us-gaap:NoncompeteAgreementsMember2021-12-31 0001443669us-gaap:NoncompeteAgreementsMembersrt:MinimumMember2022-01-012022-09-30 0001443669us-gaap:NoncompeteAgreementsMembersrt:MaximumMember2022-01-012022-09-30 0001443669us-gaap:NoncompeteAgreementsMember2022-01-012022-09-30 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2022-09-30 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2021-12-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2022-01-012022-09-30 0001443669prlb:SoftwarePlatformMember2022-09-30 0001443669prlb:SoftwarePlatformMember2021-12-31 0001443669prlb:SoftwarePlatformMember2022-01-012022-09-30 0001443669us-gaap:TradeNamesMember2022-09-30 0001443669us-gaap:TradeNamesMember2021-12-31 0001443669us-gaap:TradeNamesMember2022-01-012022-09-30 0001443669us-gaap:CustomerRelationshipsMember2022-09-30 0001443669us-gaap:CustomerRelationshipsMember2021-12-31 0001443669us-gaap:CustomerRelationshipsMembersrt:MinimumMember2022-01-012022-09-30 0001443669us-gaap:CustomerRelationshipsMembersrt:MaximumMember2022-01-012022-09-30 0001443669us-gaap:CustomerRelationshipsMember2022-01-012022-09-30 iso4217:EUR 0001443669prlb:Acquired3dHubsMembercountry:US2021-01-222021-01-22 00014436692021-01-012021-12-31 utr:sqft 0001443669prlb:FacilityInMaplePlainMinnesotaMember2022-06-30 0001443669prlb:FacilityInMaplePlainMinnesotaMember2022-07-012022-09-30 0001443669us-gaap:GeneralAndAdministrativeExpenseMemberprlb:FacilityInMaplePlainMinnesotaMember2022-07-012022-09-30 0001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:CashMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-09-30 0001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2022-09-30 0001443669us-gaap:CorporateDebtSecuritiesMember2022-09-30 0001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-09-30 0001443669us-gaap:BankTimeDepositsMember2022-09-30 0001443669us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2022-09-30 0001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2021-12-31 0001443669us-gaap:CorporateDebtSecuritiesMember2021-12-31 0001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2021-12-31 0001443669us-gaap:BankTimeDepositsMember2021-12-31 0001443669us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2021-12-31 0001443669prlb:LongtermIncentivePlan2012Member2022-01-012022-09-30 xbrli:pure 0001443669prlb:ESPPMember2022-01-012022-09-30 utr:M 0001443669us-gaap:EmployeeStockOptionMember2022-01-012022-09-30 0001443669us-gaap:EmployeeStockOptionMembersrt:MinimumMember2022-01-012022-09-30 0001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2022-01-012022-09-30 0001443669us-gaap:EmployeeStockOptionMembersrt:MinimumMember2021-01-012021-09-30 0001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2021-01-012021-09-30 0001443669us-gaap:EmployeeStockOptionMember2021-01-012021-09-30 0001443669us-gaap:EmployeeStockOptionMember2022-09-30 0001443669us-gaap:EmployeeStockOptionMember2022-01-012022-09-20 0001443669us-gaap:RestrictedStockMembersrt:MinimumMember2022-01-012022-09-30 0001443669us-gaap:RestrictedStockMembersrt:MaximumMember2022-01-012022-09-30 0001443669us-gaap:RestrictedStockMember2021-12-31 0001443669us-gaap:RestrictedStockMember2022-01-012022-09-30 0001443669us-gaap:RestrictedStockMember2022-09-30 0001443669us-gaap:PerformanceSharesMember2022-09-30 0001443669us-gaap:PerformanceSharesMember2022-01-012022-09-30 0001443669us-gaap:PerformanceSharesMember2021-12-31 0001443669us-gaap:PerformanceSharesMembersrt:MinimumMember2022-01-012022-09-30 0001443669us-gaap:PerformanceSharesMembersrt:MaximumMember2022-01-012022-09-30 0001443669us-gaap:PerformanceSharesMember2021-01-012021-09-30 0001443669prlb:EmployeeStockPurchasePlanMembersrt:MinimumMember2022-01-012022-09-30 0001443669prlb:EmployeeStockPurchasePlanMembersrt:MaximumMember2022-01-012022-09-30 0001443669prlb:EmployeeStockPurchasePlanMembersrt:MinimumMember2021-01-012021-09-30 0001443669prlb:EmployeeStockPurchasePlanMembersrt:MaximumMember2021-01-012021-09-30 0001443669prlb:EmployeeStockPurchasePlanMember2022-01-012022-09-30 0001443669prlb:EmployeeStockPurchasePlanMember2021-01-012021-09-30 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2022-07-012022-09-30 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2021-07-012021-09-30 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2022-01-012022-09-30 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2021-01-012021-09-30 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-07-012022-09-30 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-07-012021-09-30 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-01-012022-09-30 0001443669us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-01-012021-09-30 00014436692021-01-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2022-07-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-07-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2022-01-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-01-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2022-07-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-07-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2022-01-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-01-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2022-07-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-07-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2022-01-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-01-012021-09-30 0001443669us-gaap:OperatingSegmentsMember2022-07-012022-09-30 0001443669us-gaap:OperatingSegmentsMember2021-07-012021-09-30 0001443669us-gaap:OperatingSegmentsMember2022-01-012022-09-30 0001443669us-gaap:OperatingSegmentsMember2021-01-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2022-07-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2021-07-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2022-01-012022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2021-01-012021-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2021-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2022-09-30 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2021-12-31 0001443669prlb:InjectionMoldingProtomoldMember2022-07-012022-09-30 0001443669prlb:InjectionMoldingProtomoldMember2021-07-012021-09-30 0001443669prlb:InjectionMoldingProtomoldMember2022-01-012022-09-30 0001443669prlb:InjectionMoldingProtomoldMember2021-01-012021-09-30 0001443669prlb:CNCMachiningFirstcutMember2022-07-012022-09-30 0001443669prlb:CNCMachiningFirstcutMember2021-07-012021-09-30 0001443669prlb:CNCMachiningFirstcutMember2022-01-012022-09-30 0001443669prlb:CNCMachiningFirstcutMember2021-01-012021-09-30 0001443669prlb:ThreeDPrintingFinelineMember2022-07-012022-09-30 0001443669prlb:ThreeDPrintingFinelineMember2021-07-012021-09-30 0001443669prlb:ThreeDPrintingFinelineMember2022-01-012022-09-30 0001443669prlb:ThreeDPrintingFinelineMember2021-01-012021-09-30 0001443669prlb:SheetMetalMember2022-07-012022-09-30 0001443669prlb:SheetMetalMember2021-07-012021-09-30 0001443669prlb:SheetMetalMember2022-01-012022-09-30 0001443669prlb:SheetMetalMember2021-01-012021-09-30 0001443669prlb:OtherProductsMember2022-07-012022-09-30 0001443669prlb:OtherProductsMember2021-07-012021-09-30 0001443669prlb:OtherProductsMember2022-01-012022-09-30 0001443669prlb:OtherProductsMember2021-01-012021-09-30 0001443669prlb:Acquired3dHubsMember2022-01-012022-09-30
 

 

Table of Contents

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

 


 

FORM 10-Q

 

(Mark One)

 

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the quarterly period ended September 30, 2022

 

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

 

Proto Labs, Inc.

(Exact name of registrant as specified in its charter)

 

Minnesota

41-1939628

(State or other jurisdiction of incorporation or organization)

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

 

 

5540 Pioneer Creek Drive

 

Maple Plain, Minnesota

55359

(Address of principal executive offices)

(Zip Code)

 

(763479-3680

(Registrant’s telephone number, including area code)

 

Not Applicable

(Former name, former address and former fiscal year, if changed since last report)

  

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

 

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, Par Value $0.001 Per Share

PRLB

New York Stock Exchange

 

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

 

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).  ☑Yes ☐No

 

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

 

Large accelerated filer

Accelerated filer     

Non-accelerated filer

☐    

 

Smaller reporting company

Emerging growth company

    

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

 

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

 

Indicate the number of shares outstanding of each of the issuer’s classes of common stock, as of the latest practicable date: 27,116,891 shares of Common Stock, par value $0.001 per share, were outstanding at November 1, 2022.

 

 

 
 

PART I. FINANCIAL INFORMATION

 

Item 1. Financial Statements

 

 

Proto Labs, Inc.

Consolidated Balance Sheets

(In thousands, except share and per share amounts)

 


 

  

September 30,

  

December 31,

 
  2022  2021 
  

(Unaudited)

     

Assets

        

Current assets

        

Cash and cash equivalents

 $59,361  $65,929 

Short-term marketable securities

  25,253   11,580 

Accounts receivable, net of allowance for doubtful accounts of $1,821 and $1,948 as of September 30, 2022, and December 31, 2021, respectively

  80,611   80,051 

Inventory

  14,617   13,161 

Income taxes receivable

  763   1,321 

Prepaid expenses and other current assets

  11,752   11,450 

Total current assets

  192,357   183,492 

Property and equipment, net

  259,856   280,346 

Goodwill

  383,558   400,610 

Other intangible assets, net

  31,907   37,998 

Long-term marketable securities

  29,257   14,340 

Operating lease assets

  4,293   5,578 

Finance lease assets

  1,524   1,898 

Other long-term assets

  4,186   4,320 

Total assets

 $906,938  $928,582 
         

Liabilities and shareholders' equity

        

Current liabilities

        

Accounts payable

 $16,893  $25,364 

Accrued compensation

  15,087   13,704 

Accrued liabilities and other

  25,478   11,980 

Current operating lease liabilities

  1,773   3,298 

Current finance lease liabilities

  1,484   550 

Income taxes payable

  5   - 

Total current liabilities

  60,720   54,896 

Long-term operating lease liabilities

  2,477   2,245 

Long-term finance lease liabilities

  -   1,351 

Long-term deferred tax liabilities

  26,864   35,892 

Other long-term liabilities

  6,031   5,705 

Total liabilities

  96,092   100,089 
         

Shareholders' equity

        

Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of September 30, 2022, and December 31, 2021

  -   - 

Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,326,750 and 27,465,945 shares as of September 30, 2022, and December 31, 2021, respectively

  28   28 

Additional paid-in capital

  477,107   468,548 

Retained earnings

  380,735   376,734 

Accumulated other comprehensive loss

  (47,024)  (16,817)

Total shareholders' equity

  810,846   828,493 

Total liabilities and shareholders' equity

 $906,938  $928,582 

 


 

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

 

 

 

 

Proto Labs, Inc.

Consolidated Statements of Comprehensive Income

(In thousands, except share and per share amounts)

(Unaudited)

 


 

  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 
  

2022

  

2021

  

2022

  

2021

 
                 

Statements of Operations:

                

Revenue

 $121,721  $125,342  $372,791  $364,516 

Cost of revenue

  68,089   70,018   205,933   197,237 

Gross profit

  53,632   55,324   166,858   167,279 

Operating expenses

                

Marketing and sales

  20,594   21,422   62,235   61,946 

Research and development

  9,309   10,614   29,316   33,855 

General and administrative

  16,477   16,361   49,770   44,186 

Closure of Japan business

  1,194   -   6,388   - 

Total operating expenses

  47,574   48,397   147,709   139,987 

Income from operations

  6,058   6,927   19,149   27,292 

Other income (loss), net

  (24)  136   (323)  (40)

Income before income taxes

  6,034   7,063   18,826   27,252 

Provision for income taxes

  2,083   2,228   7,223   5,790 

Net income

 $3,951  $4,835  $11,603  $21,462 
                 

Net income per share:

                

Basic

 $0.14  $0.17  $0.42  $0.78 

Diluted

 $0.14  $0.17  $0.42  $0.77 
                 

Shares used to compute net income per share:

                

Basic

  27,505,097   27,713,229   27,512,057   27,638,611 

Diluted

  27,508,217   27,730,105   27,522,734   27,707,784 
                 

Comprehensive Income (Loss) (net of tax)

                

Comprehensive income (loss)

 $(6,924) $(508) $(18,604) $11,424 

 


 

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

 

 

 

 

Proto Labs, Inc.

Consolidated Statements of Shareholders' Equity

(In thousands, except share amounts)

 


 

  

Common Stock

  

Additional

      

Accumulated Other

     
          

Paid-In

  

Retained

  

Comprehensive

     
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Total

 
                         

Balance at December 31, 2021

  27,465,945   28   468,548   376,734   (16,817)  828,493 

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

  27,716   -   (462)  -   -   (462)

Stock-based compensation expense

  -   -   4,397   -   -   4,397 

Repurchases of common stock

  -   -   -   -   -   - 

Net income

  -   -   -   5,095   -   5,095 

Other comprehensive loss

                        

Foreign currency translation adjustment

  -   -   -   -   (4,972)  (4,972)

Net unrealized gains (losses) on investments in securities

  -   -   -   -   (516)  (516)

Comprehensive loss

                  (393)

Balance at March 31, 2022

  27,493,661  $28  $472,483  $381,829  $(22,305) $832,035 

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

  122,705   -   1,158   -   -   1,158 

Stock-based compensation expense

  -   -   4,031   -   -   4,031 

Repurchases of common stock

  (113,266)  -   (1,932)  (3,307)  -   (5,239)

Net income

  -   -   -   2,557   -   2,557 

Other comprehensive loss

                        

Foreign currency translation adjustment

  -   -   -   -   (13,515)  (13,515)

Net unrealized gains (losses) on investments in securities

  -   -   -   -   (329)  (329)

Comprehensive loss

                  (11,287)

Balance at June 30, 2022

  27,503,100  $28  $475,740  $381,079  $(36,149) $820,698 

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

  31,150   -   -   -   -   - 

Stock-based compensation expense

  -   -   4,907   -   -   4,907 

Repurchases of common stock

  (207,500)  -   (3,540)  (4,295)  -   (7,835)

Net income

  -   -      3,951   -   3,951 

Other comprehensive loss

                        

Foreign currency translation adjustment

  -   -   -   -   (10,287)  (10,287)

Net unrealized gains (losses) on investments in securities

  -   -   -   -   (588)  (588)

Comprehensive loss

                  (6,924)

Balance at September 30, 2022

  27,326,750  $28  $477,107  $380,735  $(47,024) $810,846 

 

  

Common Stock

  

Additional

      

Accumulated Other

     
          

Paid-In

  

Retained

  

Comprehensive

     
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Total

 
                         

Balance at December 31, 2020

  26,776,796   27   284,848   362,901   (3,420)  644,356 

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

  48,955   -   (290)  -   -   (290)

Common shares issued for Hubs acquisition

  863,995   1   166,708   -      166,709 

Stock-based compensation expense

  -   -   5,620   -   -   5,620 

Repurchases of common stock

  -   -   -   -   -   - 

Net income

  -   -   -   3,712   -   3,712 

Other comprehensive loss

                        

Foreign currency translation adjustment

  -   -   -   -   (6,842)  (6,842)

Net unrealized gains (losses) on investments in securities

  -   -   -   -   166   166 

Comprehensive loss

                  (2,964)

Balance at March 31, 2021

  27,689,746  $28  $456,886  $366,613  $(10,096) $813,431 

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

  85,317   -   (81)  -   -   (81)

Stock-based compensation expense

  -   -   4,941   -   -   4,941 

Repurchases of common stock

  (14,000)  -   (149)  (1,061)  -   (1,210)

Net income

  -   -   -   12,915   -   12,915 

Other comprehensive income

                        

Foreign currency translation adjustment

  -   -   -   -   2,030   2,030 

Net unrealized gains (losses) on investments in securities

  -   -   -   -   (49)  (49)

Comprehensive income

                  14,896 

Balance at June 30, 2021

  27,761,063  $28  $461,597  $378,467  $(8,115) $831,977 

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

  -   -   -   -   -   - 

Stock-based compensation expense

  -   -   4,978   -   -   4,978 

Repurchases of common stock

  (157,414)  -   (1,675)  (10,151)  -   (11,826)

Net income

  -   -   -   4,835   -   4,835 

Other comprehensive loss

                        

Foreign currency translation adjustment

  -   -   -   -   (5,298)  (5,298)

Net unrealized gains (losses) on investments in securities

  -   -   -   -   (45)  (45)

Comprehensive loss

                  (508)

Balance at September 30, 2021

  27,603,649  $28  $464,900  $373,151  $(13,458) $824,621 

 


 

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

 

 

 

 

Proto Labs, Inc.

Consolidated Statements of Cash Flows

(In thousands)

(Unaudited)

 


 

  

Nine Months Ended

 
  

September 30,

 
  

2022

  

2021

 
         

Operating activities

        

Net income

 $11,603  $21,462 

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

        

Depreciation and amortization

  29,981   30,231 

Stock-based compensation expense

  13,335   15,539 

Deferred taxes

  (8,920)  (139)

Fair value of contingent consideration

  -   (8,513)

Impairments related to closure of Japan business

  2,842   - 

Gain on disposal of property and equipment

  (1,174)  - 

Other

  11   442 

Changes in operating assets and liabilities:

        

Accounts receivable

  (3,909)  (25,615)

Inventories

  (1,613)  950 

Prepaid expenses and other

  (920)  1,009 

Income taxes

  670   (1,226)

Accounts payable

  1,292   1,978 

Accrued liabilities and other

  8,366   (3,893)

Net cash provided by operating activities

  51,564   32,225 
         

Investing activities

        

Purchases of property, equipment and other capital assets

  (16,414)  (27,956)

Proceeds from sales of property, equipment and other capital assets

  3,227   - 

Cash used for acquisitions, net of cash acquired

  -   (127,413)

Purchases of marketable securities

  (45,872)  (15,159)

Proceeds from sales of marketable securities

  1,998   57,089 

Proceeds from call redemptions and maturities of marketable securities

  13,696   15,114 

Net cash used in investing activities

  (43,365)  (98,325)
         

Financing activities

        

Proceeds from exercises of stock options

  2,311   3,838 

Purchases of shares withheld for tax obligations

  (1,615)  (4,209)

Repurchases of common stock

  (13,074)  (13,036)

Principal repayments of finance lease obligations

  (417)  (413)

Net cash used in financing activities

  (12,795)  (13,820)

Effect of exchange rate changes on cash and cash equivalents

  (1,972)  119 

Net decrease in cash and cash equivalents

  (6,568)  (79,801)

Cash and cash equivalents, beginning of period

  65,929   127,603 

Cash and cash equivalents, end of period

 $59,361  $47,802 

 


 

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

 

 

 

Notes to Consolidated Financial Statements

 

Note 1 – Basis of Presentation

 

The unaudited interim Consolidated Financial Statements of Proto Labs, Inc. (Protolabs, the Company, we, us or our) have been prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, the accompanying financial statements reflect all adjustments necessary for a fair presentation of the Company’s statements of financial position, results of operations and cash flows for the periods presented. Except as otherwise disclosed herein, these adjustments consist of normal, recurring items. Operating results for interim periods are not necessarily indicative of results that may be expected for the fiscal year as a whole.

 

The preparation of the financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses, and the related disclosures at the date of the financial statements and during the reporting period. Actual results could materially differ from these estimates. For further information, refer to the audited Consolidated Financial Statements and Notes thereto included in the Company’s Annual Report on Form 10-K for the year ended  December 31, 2021, as filed with the Securities and Exchange Commission (SEC) on February 18, 2022.

 

The accompanying Consolidated Balance Sheet as of December 31, 2021 was derived from the audited Consolidated Financial Statements but does not include all disclosures required by U.S. GAAP for a full set of financial statements. This Quarterly Report on Form 10-Q should be read in conjunction with the Company’s Consolidated Financial Statements and Notes included in the Company's Annual Report on Form 10-K filed on February 18, 2022 as referenced above.

 

On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. Affected employees in Japan will receive severance and other transition assistance that meet or exceed local requirements. The Company expects to substantially complete the closure plan within the next year. The Company's decision to close the Japan business resulted in $1.2 million and $6.4 million in operating expenses during the three and nine months ended September 30, 2022, respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the three months ended September 30, 2022.  Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the nine months ended September 30, 2022. 

  

 

Note 2 – Recent Accounting Pronouncements

 

The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements.  There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.

 

 

Note 3 – Net Income per Common Share

 

Basic net income per share is computed based on the weighted-average number of common shares outstanding. Diluted net income per share is computed based on the weighted-average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. Performance stock units are excluded from the calculation of dilutive potential common shares until the performance conditions have been satisfied. For the three months ended September 30, 2022 and 2021, 210,443 and 184,920 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding, respectively. For the nine months ended September 30, 2022 and 2021, 202,901 and 61,400 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding, respectively.

 

The table below sets forth the computation of basic and diluted net income per share:

 


 

  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 

(in thousands, except share and per share amounts)

 

2022

  

2021

  

2022

  

2021

 

Net income

 $3,951  $4,835  $11,603  $21,462 
                 

Basic - weighted-average shares outstanding:

  27,505,097   27,713,229   27,512,057   27,638,611 

Effect of dilutive securities:

                

Employee stock options and other

  3,120   16,876   10,677   69,173 

Diluted - weighted-average shares outstanding:

  27,508,217   27,730,105   27,522,734   27,707,784 

Net income per share:

                

Basic

 $0.14  $0.17  $0.42  $0.78 

Diluted

 $0.14  $0.17  $0.42  $0.77 

 


 

6

 
 

Note 4 – Business Combinations

 

On  January 22, 2021, the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The purchase agreement included additional contingent consideration of up to $52.8 million subject to the achievement of performance-based targets during fiscal 2021 and fiscal 2022. The contingent consideration consisted of up to $25.0 million in cash and up to 143,983 shares of the Company's common stock valued at $27.8 million on the closing date. 

 

Hubs is based in Amsterdam, Netherlands and is a leading online manufacturing platform that provides customers with on-demand access to a global network of premium manufacturing partners. The acquisition enhances the Company’s value proposition by expanding the customer offerings, enabling the Company to more holistically serve its customers.

 

The fair value of the consideration paid for this acquisition has been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill.  The goodwill associated with the acquisition represents both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes. 

 

The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, Business Combinations. The final purchase price allocation was as follows:


 

(in thousands)

 Acquisition 

Assets acquired:

    

Current assets

 $2,497 

Intangible assets

  30,770 

Goodwill

  280,925 

Other long-term assets

  1,139 

Total assets acquired

  315,331 
     

Liabilities assumed:

    

Current contingent consideration

  7,093 

Current liabilities

  5,666 

Long-term contingent consideration

  6,507 

Long-term deferred tax liabilities

  1,688 

Other long-term liabilities

  255 

Total liabilities assumed

  21,209 

Net assets acquired

  294,122 
     

Cash paid

  133,847 

Cash acquired

  (6,434)

Net cash consideration

  127,413 

Equity portion of purchase price

  166,709 

Total purchase consideration

 $294,122 

 


 

7

 
 

Note 5 – Goodwill and Other Intangible Assets

 

The changes in the carrying amount of goodwill during the nine months ended September 30, 2022 were as follows:

 


 

(in thousands)

 Nine Months Ended September 30, 2022 

Balance as of the beginning of the period

 $400,610 

Goodwill acquired during the period

  - 

Goodwill written off during the period

  (630)

Foreign currency translation adjustments

  (16,422)

Balance as of the end of the period

 $383,558 

 


 

Goodwill of $0.6 million was written off as of  September 30, 2022, as a result of the Company's decision to close the Japan manufacturing facility and exit the Japan market. The Japan business was in operations through the third quarter of 2022 and the assets are expected to be available for sale in the fourth quarter of 2022. The Euro denominated goodwill is translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income.

 

Intangible assets other than goodwill at  September 30, 2022 and December 31, 2021 were as follows:

 


 

  

September 30, 2022

  

December 31, 2021

  

Useful

  

Weighted Average

 

(in thousands)

 

Gross

  

Accumulated Amortization

  

Net

  

Gross

  

Accumulated Amortization

  

Net

  

Life (in years)

  

Useful Life Remaining (in years)

 

Intangible assets with finite lives:

                              

Marketing assets

  

$ 930

   

$ (783)

   

$ 147

   

$ 930

   

$ (713)

   

$ 217

  10.0  1.5 

Non-compete agreement

 807  (448) 359  842  (363) 479  2.0 - 5.0  2.3 

Software technology

 13,229  (6,041) 7,188  13,229  (5,014) 8,215  10.0  5.8 

Software platform

 25,071  (3,631) 21,440  26,725  (2,262) 24,463  12.0  10.3 

Tradenames

 337  (190) 147  359  (114) 245  3.0  1.3 

Customer relationships

 12,117  (9,491) 2,626  12,252  (7,873) 4,379  3.0 - 9.0  1.1 

Total intangible assets

 $52,491  $(20,584) $31,907  $54,337  $(16,339) $37,998       

 


 

Intangible assets have been allocated to the acquired Hubs entities consisting of intangible assets of €11.6 million in Europe and $16.6 million in the United States as of the date of the acquisition. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. Foreign currency losses related to intangible assets were $2.8 million and $0.9 million as of September 30, 2022 and December 31, 2021, respectively. Amortization expense for intangible assets was $1.5 million and $1.6 million for the three months ended  September 30, 2022 and 2021, respectively, and $4.6 million in each of the nine months ended September 30, 2022 and 2021.

 

Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets and current exchange rates is as follows:

 


 

(in thousands)

 

Estimated Amortization Expense

 

Remaining 2022

 $1,491 

2023

  5,774 

2024

  3,647 

2025

  3,551 

2026

  3,453 

Thereafter

  13,991 

Total estimated amortization expense

 $31,907 

 


 

8

 
 

 Note 6 Assets Held for Sale

 

Assets are classified as held for sale and presented separately on the Consolidated Balance Sheet when all of the following criteria for a plan of sale have been met: (1) management, having the authority to approve the action, commits to a plan to sell the assets; (2) the assets are available for immediate sale, in their present condition, subject only to terms that are usual and customary for sales of such assets; (3) an active program to locate a buyer and other actions required to complete the plan to sell the assets have been initiated; (4) the sale of the assets is probable and is expected to be completed within one year; (5) the assets are being actively marketed for a price that is reasonable in relation to their current fair value; and (6) actions required to complete the plan indicate that it is unlikely that significant changes to the plan will be made or the plan will be withdrawn. The assets are then recorded at the lower of their current carrying value or the fair market value, less costs to sell.

 

During the first quarter of 2022, a facility the Company owns in Maple Plain, Minnesota, encompassing approximately 35,000 square feet of manufacturing and office space, met the criteria to be held for sale. The assets held for sale were $2.0 million as of June 30, 2022 and were presented on the Company's Consolidated Balance Sheet as Long-term assets held for sale. The Company closed on the sale of the facility in the third quarter of 2022 for a net purchase price of $3.2 million, which resulted in a gain of $1.2 million recorded in general and administrative expense on the Company's Consolidated Statements of Operations.

 

 

Note 7 – Fair Value Measurements

 

Accounting Standards Codification, Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy that requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:

 

Level 1—Quoted prices in active markets for identical assets or liabilities.

 

Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.

 

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

 

The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits and cash equivalents consist primarily of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

The following table summarizes financial assets as of  September 30, 2022 and December 31, 2021 measured at fair value on a recurring basis: 

 


 

  

September 30, 2022

  

December 31, 2021

 

(in thousands)

 

Level 1

  

Level 2

  

Level 3

  

Level 1

  

Level 2

  

Level 3

 

Financial Assets:

                        

Cash

 $36,813  $-  $-  $65,637  $-  $- 

Money market mutual fund

  22,548   -   -   292   -   - 

Marketable securities

  17,096   37,414   -   7,602   18,318   - 

Total

 $76,457  $37,414  $-  $73,531  $18,318  $- 

 

 

Note 8 – Marketable Securities

 

The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as available-for-sale and are recorded at fair value. The following table summarizes information regarding the Company’s short-term and long-term marketable securities as of  September 30, 2022 and December 31, 2021:

 


 

  

September 30, 2022

 

(in thousands)

 

Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 

U.S. municipal securities

 $17,991  $-  $(494) $17,497 

Corporate debt securities

  9,602   -   (259)  9,343 

U.S. government agency securities

  25,780   -   (787)  24,993 

Certificates of deposit/time deposits

  1,189   -   (11)  1,178 

Commercial paper

  1,500   -   (1)  1,499 

Total marketable securities

 $56,062  $-  $(1,552) $54,510 

 


 

9

 

 

  

December 31, 2021

 

(in thousands)

 

Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 

U.S. municipal securities

 $12,549  $-  $(70) $12,479 

Corporate debt securities

  9,303   -   (44)  9,259 

U.S. government agency securities

  2,500   -   (12)  2,488 

Certificates of deposit/time deposits

  1,687   7   -   1,694 

Commercial paper

  -   -   -   - 

Total marketable securities

 $26,039  $7  $(126) $25,920 

 


 

Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.

 

The  September 30, 2022 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.

 


 

  

September 30,

 

(in thousands)

 2022 

Due in one year or less

 $25,253 

Due after one year through five years

  29,257 

Total marketable securities

 $54,510 

 


 

 

Note 9 – Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

The Company’s inventory consisted of the following as of the dates indicated:

 


 

  

September 30,

  

December 31,

 

(in thousands)

 2022  2021 

Total inventory

 $14,953  $13,474 

Allowance for obsolescence

  (336)  (313)

Inventory, net of allowance

 $14,617  $13,161 

 


 

10

 
 

Note 10 – Stock-Based Compensation

 

Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company had the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards through February 23, 2022. On July 8, 2022, the board of directors approved the Proto Labs, Inc. 2022 Long-Term Incentive Plan (the 2022 Plan), which was approved by the Company's shareholders at a Special Meeting of Shareholders on August 29, 2022. No awards were granted from February 23, 2022 to August 29, 2022. Awards outstanding under the 2012 Plan as of August 29, 2022 will continue to be subject to the terms of the 2012 Plan, but if those awards subsequently expire, are forfeited or cancelled or are settled in cash, the shares subject to those awards will become available for awards under the 2022 Plan. Under the 2022 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2022 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and SARs granted under the 2022 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.

 

Employee Stock Purchase Plan

 

The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock each offering period at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period ending May 15 and November 15, respectively. At the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period.

 

Stock-Based Compensation Expense

 

Stock-based compensation expense was $4.9 million and $5.0 million for the three months ended  September 30, 2022 and 2021, respectively, and $13.3 and $15.5 million for the nine months ended September 30, 2022 and 2021, respectively.

 

Stock Options

 

The following table summarizes stock option activity during the nine months ended September 30, 2022:

 


 

      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 

Options outstanding at December 31, 2021

  233,384  $97.78 

Granted

  118,434   48.24 

Exercised

  (3,114)  30.58 

Forfeited

  (38,618)  91.27 

Expired

  (34,201)  89.71 

Options outstanding at September 30, 2022

  275,885  $79.19 
         

Exercisable at September 30, 2022

  108,659  $91.50 

 


 

The outstanding options generally have a term of ten years. For employees, options granted become exercisable ratably over the vesting period, which is generally a period of four years, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For the board of directors, options generally become exercisable in full on the first anniversary of the grant date.

 

The weighted-average grant date fair value of options that were granted during the nine months ended September 30, 2022 was $23.11.

 

The following table provides the assumptions used in the Black-Scholes pricing model valuation of options during the nine months ended September 30, 2022 and 2021:

 


 

  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

1.94% - 3.40%

   

0.80% - 1.12%

 

Expected life (years)

  6.25   6.25 

Expected volatility

  

45.95% - 46.03%

   

45.28 - 45.35%

 

Expected dividend yield

  

0%

   

0%

 

 


 

As of September 30, 2022, there was $4.5 million of unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.8 years.

 

11

 

Restricted Stock

 

Restricted stock awards are share-settled awards and restrictions lapse ratably over the vesting period, which is generally a period from three to four years, beginning on the first anniversary of the grant date, subject to the employee's continuing service to the Company. For the board of directors, restrictions generally lapse in full on the first anniversary of the grant date. 

 

The following table summarizes restricted stock activity during the nine months ended September 30, 2022:

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock

  

Per Share

 

Restricted stock at December 31, 2021

  343,782  $111.79 

Granted

  312,270   42.05 

Restrictions lapsed

  (120,606)  104.99 

Forfeited

  (39,480)  106.64 

Restricted stock at September 30, 2022

  495,966  $69.95 

 


 

As of September 30, 2022, there was $24.7 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.6 years. 

 

12

 

Performance Stock

 

Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 200 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from 2017 to 2019 and certain PSUs granted in 2021 are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in 2020 and 2022 and certain PSUs granted in 2021 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.

 

The following table summarizes performance stock activity during the nine months ended September 30, 2022:

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock

  

Per Share

 

Performance stock at December 31, 2021

  16,839  $115.56 

Granted

  35,697   96.71 

Restrictions lapsed

  -   - 

Performance change

  -   - 

Forfeited

  (3,578)  121.79 

Performance stock at September 30, 2022

  48,958  $109.80 

 


 

The following table provides the assumptions used in the Monte Carlo pricing model valuation of PSUs during the nine months ended September 30, 2022 and 2021

 


 

  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

1.76% - 3.40%

   

0.22%

 

Expected life (years)

  2.34 - 2.87   2.87 

Expected volatility

  

53.5% - 53.6%

   

51.40%

 

Expected dividend yield

  

0%

   

0%

 

 


 

As of September 30, 2022, there was $2.8 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 2.2 years. 

 

Employee Stock Purchase Plan

 

The following table presents the assumptions used to estimate the fair value of the ESPP during the nine months ended September 30, 2022 and 2021

 


 

  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

0.17 - 2.06%

   

0.06 - 0.12%

 

Expected life (months)

  6.00   6.00 

Expected volatility

  

47.05 - 53.44%

   

50.85 - 65.53%

 

Expected dividend yield

  

0%

   

0%

 

 


 

13

 
 

 Note 11 – Accumulated Other Comprehensive Income (Loss)

 

Other comprehensive income (loss) is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. The following table presents the changes in accumulated other comprehensive income (loss) balances during the three and nine months ended September 30, 2022 and 2021:

 


 

  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 
                 

Balance at beginning of period

 $(36,149) $(8,115) $(16,817) $(3,420)

Foreign currency translation adjustments

                

Other comprehensive income (loss) before reclassifications

  (10,287)  (5,298)  (28,774)  (10,110)

Amounts reclassified from accumulated other comprehensive loss

  -   -   -   - 

Net current-period other comprehensive income (loss)

  (10,287)  (5,298)  (28,774)  (10,110)

Net unrealized gains (losses) on investments in securities

                

Other comprehensive income (loss) before reclassifications

  (588)  (45)  (1,433)  72 

Amounts reclassified from accumulated other comprehensive loss

  -   -   -   - 

Net current-period other comprehensive income (loss)

  (588)  (45)  (1,433)  72 

Balance at end of period

 $(47,024) $(13,458) $(47,024) $(13,458)

 


 

 

Note 12 – Income Taxes

 

The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the three months ended  September 30, 2022 and 2021, the Company recorded an income tax provision of $2.1 million and $2.2 million, respectively. For the nine months ended September 30, 2022 and 2021, the Company recorded an income tax provision of $7.2 million and $5.8 million, respectively. The income tax provision is based on the estimated annual effective tax rate for the year applied to pre-tax income. The effective income tax rate for the three months ended  September 30, 2022 was 34.5 percent compared to 31.5 percent in the same period of the prior year. The effective tax rate increased by 3.0 percent for the three months ended  September 30, 2022 when compared to the same period in 2021, primarily due to an increase in losses in jurisdictions, mainly Japan, that are not eligible for tax benefits due to valuation allowances. The effective income tax rate for the nine months ended  September 30, 2022 was 38.4 percent compared to 21.2 percent in the same period of the prior year. The effective tax rate increased by 17.2 percent for the nine months ended  September 30, 2022 when compared to the same period in 2021, primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options, as well as an increase in losses in jurisdictions, mainly Japan, that are not eligible for tax benefits due to valuation allowances. 

 

The effective income tax rate for the nine months ended September 30, 2022 differs from the U.S. federal statutory rate of 21.0 percent due to various factors, including operating in multiple state and foreign jurisdictions and tax credits for which the Company qualifies.

 

The Company had unrecognized tax benefits totaling $4.5 million as of September 30, 2022 and $4.4 million as of  December 31, 2021, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. 

 

14

 
 

Note 13 – Segment Reporting

 

The Company’s reportable segments are based on the internal reporting used by the Company’s Chief Executive Officer, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs, that the Company does not allocate directly to its operating segments.

 

Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments. 

 

Revenue and income from operations by reportable segment for the three and nine months ended September 30, 2022 and 2021 were as follows:

 


 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Revenue:

                

United States

 $98,970  $100,127  $295,121  $286,524 

Europe

  21,464   22,155   69,441   68,259 

Japan

  1,287   3,060   8,229   9,733 

Total revenue

 $121,721  $125,342  $372,791  $364,516 

 


 


 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Income (Loss) from Operations:

                

United States

 $25,293  $23,475  $73,984  $72,258 

Europe

  (3,581)  (2,223)  (7,509)  1,469 

Corporate Unallocated and Japan

  (15,654)  (14,325)  (47,326)  (46,435)

Total Income from Operations

 $6,058  $6,927  $19,149  $27,292 

 


 

Total long-lived assets at  September 30, 2022 and December 31, 2021 were as follows:

 


 

  

September 30,

  

December 31,

 

(in thousands)

 2022  2021 

Total long-lived assets:

        

United States

 $206,965  $215,701 

Europe

  51,636   59,388 

Japan

  1,255   5,257 

Total Long-lived Assets

 $259,856  $280,346 

 


 

The Company's decision to close the Japan business resulted in operating expenses of $1.2 million and $6.4 million during the three and nine months ended September 30, 2022, respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the three months ended September 30, 2022. Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the nine months ended September 30, 2022. 

 

Revenue by product line for the three and nine months ended September 30, 2022 and 2021 were as follows:

 


 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Revenue:

                

Injection Molding

 $48,940  $57,685  $155,693  $172,212 

CNC Machining

  47,489   43,658   141,809   121,953 

3D Printing

  19,823   18,589   59,458   53,994 

Sheet Metal

  5,219   4,854   15,066   14,790 

Other Revenue

  250   556   765   1,567 

Total revenue

 $121,721  $125,342  $372,791  $364,516 

 


 

15

 
 

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

 

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our unaudited consolidated financial statements and related notes appearing elsewhere in this Quarterly Report on Form 10-Q and our Annual Report on Form 10-K for the year ended December 31, 2021.

 

Forward-Looking Statements

 

Statements contained in this report regarding matters that are not historical or current facts are “forward-looking statements” within the meaning of The Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by the following words: “may,” “will,” “could,” “would,” “should,” “expect,” “intend,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “project,” “potential,” “continue,” “ongoing” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. These statements involve known and unknown risks, uncertainties and other factors that may cause our results to be materially different than those expressed or implied in such statements. Certain of these risk factors and others are described in Item 1A. “Risk Factors” of this Form 10-Q, as well as our most recent Annual Report on Form 10-K as filed with the Securities and Exchange Commission (SEC). Other unknown or unpredictable factors also could have material adverse effects on our future results. We cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, we expressly disclaim any intent or obligation to update any forward-looking statements to reflect subsequent events or circumstances.

 

Overview

 

We are one of the world’s largest and fastest digital manufacturers of custom prototypes and on-demand production parts. Our mission is to empower companies to bring new ideas to market by offering the fastest and most comprehensive digital manufacturing service in the world. Our automated quoting and manufacturing systems allow us to produce commercial-grade plastic, metal, and liquid silicone rubber parts in as fast as one day. We manufacture prototype and low volume production parts for companies worldwide, who are under increasing pressure to bring their finished products to market faster than their competition. We utilize injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for our customers. For most of our offerings, our proprietary technology eliminates most of the time-consuming and expensive skilled labor conventionally required to quote and manufacture parts. Our customers conduct nearly all of their business with us over the Internet. We target our products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets. In addition, we serve procurement and supply chain professionals seeking to manufacture custom parts on-demand. Through the acquisition of Hubs (formerly 3D Hubs, Inc.) (Hubs) in 2021, we are able to provide our customers access to a global network of premium manufacturing partners who reside across North America, Europe and Asia, complementing our in-house manufacturing. We believe our use of advanced technology enables us to offer significant advantages at competitive prices to many customers and is the primary reason we have become a leading supplier of custom parts.

 

On May 27, 2022, our board of directors approved a plan for the closure of our manufacturing facility in Japan and announced an intention to cease operations in the region. Affected employees in Japan will receive severance and other transition assistance that meet or exceed local requirements. We expect to substantially complete the closure plan within the next year. Our decision to close the Japan business resulted in operating expenses of $1.2 million and $6.4 million during the three and nine months ended September 30, 2022, respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the three months ended September 30, 2022.  Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the nine months ended September 30, 2022.  

 

Our primary manufacturing product lines currently include Injection Molding, CNC Machining, 3D Printing and Sheet Metal. We continually seek to expand the range of sizes and geometric complexity of the parts we can make with these processes, to extend the variety of materials we are able to support, and to identify additional manufacturing processes to which we can apply our technology in order to better serve the evolving preferences and needs of product developers and engineers. In 2021, we augmented our internal manufacturing operations through our acquisition of Hubs to expand the envelope of custom parts we can provide to our customers through a network of premium manufacturing partners in each of our product lines.

 

Injection Molding

 

Our Injection Molding product line uses our 3D CAD-to-CNC machining technology for the automated design and manufacture of molds, which are then used to produce custom plastic and liquid silicone rubber injection-molded parts and over-molded and insert-molded injection-molded parts on commercially available equipment. Our Injection Molding product line works best for on-demand production, bridge tooling, pilot runs and functional prototyping. Our affordable molds and quick turnaround times help reduce design risk and limit overall production costs for product developers and engineers. Because we retain possession of the molds, customers who need short-run production often come back to Proto Labs’ Injection Molding product line for additional quantities. They do so to support pilot production for product testing, while their tooling for high-volume production is being prepared, because they need on-demand manufacturing due to disruptions in their manufacturing process, because their product requires limited annual quantity or because they need end-of-life production support. In 2017, we launched an on-demand manufacturing injection molding service. This service utilizes our existing processes, but is designed to fulfill the needs of customers with on-going production needs.

 

CNC Machining

 

Our CNC Machining product line uses commercially available CNC machines to offer milling and turning. CNC milling is a manufacturing process that cuts plastic and metal blocks into one or more custom parts based on the 3D CAD model uploaded by the customer. CNC turning is a subtractive manufacturing process that rotates a metal rod while a cutting tool is used to remove material and create final parts. Quick-turn CNC machining works best for prototyping, form and fit testing, jigs and fixtures and functional components for end-use applications.

 

 

Industrial 3D Printing

 

Our Industrial 3D Printing product line includes SL, SLS, DMLS, MJF, PolyJet, Carbon DLS and fused deposition modeling (FDM) processes, which offers customers a wide-variety of high-quality, precision rapid prototyping and low volume production. These processes create parts with a high level of accuracy, detail, strength and durability. Industrial 3D Printing is best suited for functional prototypes, complex designs and end-use applications.

 

Sheet Metal

 

Our Sheet Metal product line includes quick-turn and e-commerce-enabled custom sheet metal parts, providing customers with prototype and low-volume production parts. The rapid prototype sheet metal process is most often used when form, fit and function are all a priority. Our manufacturing process uses customer 3D CAD models uploaded by the customer to fabricate rapid prototyping sheet metal or end-use production parts and assemblies.

 

 

Key Financial Measures and Trends

 

Revenue

 

Our operations are comprised of three geographic operating segments in the United States, Europe and Japan. On May 27, 2022, our board of directors approved a plan for the closure of our manufacturing facility in Japan and announced an intention to cease operations in the region. Revenue is derived from our Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined custom parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal custom parts. Our historical and current efforts to increase revenue have been directed at gaining new customers and selling to our existing customer base by increasing marketing and selling activities, including:

 

 

expanding the breadth and scope of our products by adding more sizes and materials to our offerings;

 

 

 

 

the introduction of our 3D Printing product line through our acquisition of FineLine in 2014;

 

 

 

 

expanding 3D Printing to Europe through our acquisition of Alphaform in 2015;

 

 

 

 

the introduction of our Sheet Metal product line through our acquisition of Rapid Manufacturing Group, LLC in 2017;

 

 

 

 

continuously improving the usability of our product lines such as our web-centric applications; and

     
  providing customers with on-demand access to a global network of premium manufacturing partners through our acquisition of Hubs in 2021.

 

During the three months ended September 30, 2022, we served 23,816 unique product developers and engineers who purchased our products through our web-based customer interface, an increase of 1.5% over the same period in 2021. During the nine months ended September 30, 2022, we served 47,793 unique product developers and engineers who purchased our products through our web-based customer interface, an increase of 2.4% over the same period in 2021. 

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of revenue consists primarily of raw materials, equipment depreciation, employee compensation, benefits, stock-based compensation, facilities costs and overhead allocations associated with the manufacturing process for molds and customer parts. We expect our personnel-related costs to increase in order to retain and attract top talent and remain competitive in the market. Overall, we expect cost of revenue to increase in absolute dollars.

 

We define gross profit as our revenue less our cost of revenue, and we define gross margin as gross profit expressed as a percentage of revenue. Our gross profit and gross margin are affected by many factors, including our mix of revenue by product line, pricing, sales volume, manufacturing costs, the costs associated with increasing production capacity, the mix between domestic and foreign revenue sources, the mix between revenue produced in our internal manufacturing operations and outsourced to our external manufacturing partners, and foreign currency exchange rates.

 

 

Operating Expenses

 

Operating expenses consist of marketing and sales, research and development and general and administrative expenses. Personnel-related costs are the most significant component in each of these categories.

 

The launch of our Protolabs 2.0 project, an internal business systems initiative impacting both external customer-facing and internal back-end systems, in the United States in the first quarter of 2021, and our acquisition of Hubs in January 2021, led to higher operating expenses in the first nine months of 2021. Our business strategy is to continue to be a leading online and technology-enabled manufacturer of quick-turn, on-demand injection-molded, CNC-machined, 3D-printed and sheet metal custom parts for prototyping and low-volume production. In order to achieve our goals, we anticipate continued substantial investments in technology and personnel, resulting in increased operating expenses in the future.

 

Marketing and sales. Marketing and sales expense consists primarily of employee compensation, benefits, commissions, stock-based compensation, marketing programs such as electronic, print and pay-per-click advertising, trade shows and other related overhead, which includes an allocation of information technology expense including amortization of Protolabs 2.0 software assets. We expect sales and marketing expense to increase in the future as we increase the number of marketing and sales professionals and marketing programs targeted to increase our customer base and grow revenue.

 

Research and development. Research and development expense consists primarily of personnel and outside service costs related to the development of new processes and product lines, enhancement of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles — Goodwill and Other, Internal-Use Software. We expect research and development expense to increase in the future as we seek to enhance our e-commerce interface technology, internal software and supporting business systems, and continue to expand our product lines.

 

General and administrative. General and administrative expense consists primarily of employee compensation, benefits, stock-based compensation, professional service fees related to accounting, tax and legal, and other related overhead, which includes an allocation of information technology expense including amortization of Protolabs 2.0 software assets. We expect general and administrative expense to increase in the future as we continue to grow and expand as a global organization.

 

Closure of Japan business. Closure of Japan business expense is driven by our decision to close the Japan manufacturing facility and exit the Japan market. The expenses consist primarily of operating expense, including employee severance, write-down of fixed assets, facility-related charges and goodwill impairment charges.

 

Other Income (Loss), net

 

Other income (loss), net primarily consists of foreign currency-related gains and losses and interest income on cash balances and investments. Our foreign currency-related gains and losses will vary depending upon movements in underlying foreign currency exchange rates. Our interest income will vary each reporting period depending on our average cash balances during the period, composition of our marketable security portfolio and the current level of interest rates.

 

Provision for Income Taxes

 

Provision for income taxes is comprised of federal, state, local and foreign taxes based on pre-tax income. Overall, our effective tax rate for 2022 and beyond may differ from historical effective tax rates due to increases in losses in foreign operations that are not eligible for tax benefits on account of valuation allowances, as well as any future tax law changes that may impact our effective tax rate.

 

 

Results of Operations

 

The following table summarizes our results of operations and the related changes for the periods indicated. The results below are not necessarily indicative of the results for future periods. 

 


 

   

Three Months Ended September 30,

   

Change

   

Nine Months Ended September 30,

   

Change

 

(dollars in thousands)

 

2022

   

2021

   

$

   

%

   

2022

   

2021

   

$

   

%

 

Revenue

  $ 121,721       100.0     $ 125,342       100.0     $ (3,621 )     (2.9 )   $ 372,791       100.0     $ 364,516       100.0     $ 8,275       2.3  

Cost of revenue

    68,089       55.9       70,018       55.9       (1,929 )     (2.8 )     205,933       55.2       197,237       54.1       8,696       4.4  

Gross profit

    53,632       44.1       55,324       44.1       (1,692 )     (3.1 )     166,858       44.8       167,279       45.9       (421 )     (0.3 )

Operating expenses:

                                                                                               

Marketing and sales

    20,594       16.9       21,422       17.1       (828 )     (3.9 )     62,235       16.7       61,946       17.0       289       0.5  

Research and development

    9,309       7.7       10,614       8.5       (1,305 )     (12.3 )     29,316       7.9       33,855       9.3       (4,539 )     (13.4 )

General and administrative

    16,477       13.5       17,111       13.6       (634 )     (3.7 )     49,770       13.3       52,699       14.4       (2,929 )     (5.6 )

Closure of Japan business

    1,194       1.0       -       -       1,194       100.0       6,388       1.7       -       -       6,388       100.0  

Changes in fair value of contingent consideration

    -       (0.0 )     (750 )     (0.6 )     750       (100.0 )     -       -       (8,513 )     (2.3 )     8,513       (100.0 )

Total operating expenses

    47,574       39.1       48,397       38.6       (823 )     (1.7 )     147,709       39.6       139,987       38.4       7,722       5.5  

Income from operations

    6,058       5.0       6,927       5.5       (869 )     (12.5 )     19,149       5.2       27,292       7.5       (8,143 )     (29.8 )

Other income (loss), net

    (24 )     (0.0 )     136       0.1       (160 )     (117.6 )     (323 )     (0.1 )     (40 )     -       (283 )     707.5  

Income before income taxes

    6,034       5.0       7,063       5.6       (1,029 )     (14.6 )     18,826       5.1       27,252       7.5       (8,426 )     (30.9 )

Provision for income taxes

    2,083       1.7       2,228       1.7       (145 )     (6.5 )     7,223       2.0       5,790       1.6       1,433       24.7  

Net income

  $ 3,951       3.3 %   $ 4,835       3.9 %   $ (884 )     (18.3 )%   $ 11,603       3.1 %   $ 21,462       5.9 %   $ (9,859 )     (45.9 )%

 


 

Stock-based compensation expense included in the statements of operations data above for the three and nine months ended September 30, 2022 and 2021 were as follows:

 


 

   

Three Months Ended September 30,

   

Nine Months Ended September 30,

 

(dollars in thousands)

 

2022

   

2021

   

2022

   

2021

 

Stock options, restricted stock and performance stock

  $ 4,573     $ 4,551     $ 12,247     $ 14,405  

Employee stock purchase plan

    334       427       1,088       1,134  

Total stock-based compensation expense

  $ 4,907     $ 4,978     $ 13,335     $ 15,539  
                                 

Cost of revenue

  $ 560     $ 644     $ 1,674     $ 1,947  

Operating expenses:

                               

Marketing and sales

    929       1,059       2,479       2,841  

Research and development

    602       776       1,702       2,144  

General and administrative

    2,816       2,499       7,480       8,607  

Total stock-based compensation expense

  $ 4,907     $ 4,978     $ 13,335     $ 15,539  

 


 

 

 

Comparison of Three Months Ended September 30, 2022 and 2021

 

Revenue

 

Revenue by reportable segment and the related changes for the three months ended September 30, 2022 and 2021 were as follows:

 


 

   

Three Months Ended September 30,

                 
   

2022

   

2021

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

   

$

   

%

 

Revenue

                                               

United States

  $ 98,970       81.3 %   $ 100,127       79.9 %   $ (1,157 )     (1.2 )%

Europe

    21,464       17.6       22,155       17.7       (691 )     (3.1 )

Japan

    1,287       1.1       3,060       2.4       (1,773 )     (57.9 )

Total revenue

  $ 121,721       100.0 %   $ 125,342       100.0 %   $ (3,621 )     (2.9 )%

 


 

Our revenue decreased $3.6 million, or 2.9%, for the three months ended September 30, 2022 compared to the same period in 2021. By reportable segment, revenue in the United States decreased $1.2 million, or 1.2%, for the three months ended September 30, 2022 compared to the same period in 2021. Revenue in Europe decreased $0.7 million, or 3.1%, and revenue in Japan decreased $1.8 million, or 57.9%, in each case for the three months ended September 30, 2022 compared to the same period in 2021. The decrease in Japan revenue was driven by our decision in the second quarter of 2022 to close our Japan operations. Our acquisition of Hubs provided revenue of $6.9 million and $4.7 million in the United States, and $5.3 million and $4.1 million in Europe, for each of the three months ended September 30, 2022 and 2021. International revenue was negatively impacted by $4.1 million during the three months ended September 30, 2022 compared to the same period in 2021 as a result of foreign currency movements, primarily the weakening of the British Pound and Euro relative to the United States Dollar.

 

During the three months ended September 30, 2022, we served 23,816 unique product developers and engineers, an increase of 1.5% over the same period in 2021. Our growth in product developers and engineers served increased at a greater rate than our revenue growth, resulting in a decrease in the average spend per product developer and engineer. The decrease in average spend per product developer and engineer was driven by the impact of foreign currency movements, primarily the weakening of the British Pound and Euro relative to the United States Dollar. 

 

Revenue by product line and the related changes for the three months ended September 30, 2022 and 2021 were as follows:

 


 

   

Three Months Ended September 30,

                 
   

2022

   

2021

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

   

$

   

%

 

Revenue

                                               

Injection Molding

  $ 48,940       40.2 %   $ 57,685       46.0 %   $ (8,745 )     (15.2 )%

CNC Machining

    47,489       39.0       43,658       34.8       3,831       8.8  

3D Printing

    19,823       16.3       18,589       14.8       1,234       6.6  

Sheet Metal

    5,219       4.3       4,854       3.9       365       7.5  

Other Revenue

    250       0.2       556       0.5       (306 )     (55.0 )

Total revenue

  $ 121,721       100.0 %   $ 125,342       100.0 %   $ (3,621 )     (2.9 )%

 


 

By product line, our revenue decrease was driven by a 15.2% decrease in Injection Molding revenue and a 55.0% decrease in Other Revenue, which was partially offset by an 8.8% increase in CNC Machining revenue, a 6.6% increase in 3D Printing revenue and a 7.5% increase in Sheet Metal revenue, in each case for the three months ended September 30, 2022 compared to the same period in 2021.

 

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of Revenue. Cost of revenue decreased $1.9 million, or 2.8%, for the three months ended September 30, 2022 compared to the same period in 2021, which was consistent with the rate of revenue decrease of 2.9% for the three months ended September 30, 2022 compared to the same period in 2021. Cost of revenue decreased $3.7 million in our digital manufacturing business, which was driven by decreases in overtime and contract labor expense and led to lower personnel and related costs of $3.6 million, and a decrease in raw material and product costs of $0.1 million. Hubs provided a $1.8 million increase in cost of revenue due to higher revenue volume for the three months ended September 30, 2022 when compared to the same period in 2021.

 

Gross Profit and Gross Margin. Gross profit decreased from $55.3 million in the three months ended September 30, 2021 to $53.6 million in the three months ended September 30, 2022. Gross margin remained consistent from 44.1% in the three months ended September 30, 2021 to 44.1% in the three months ended September 30, 2022.

 

Operating Expenses, Other Income (Loss), net and Provision for Income Taxes

 

Marketing and Sales. Marketing and sales expenses decreased $0.8 million, or 3.9%, during the three months ended September 30, 2022 compared to the same period in 2021. Personnel and related cost decreases in our digital manufacturing business of $0.9 million and marketing program cost decreases in our digital manufacturing business of $0.3 million were offset by increases in Hubs' marketing and sales expenses of $0.4 million during the three months ended September 30, 2022 when compared to the same period in 2021.

 

Research and Development. Our research and development expenses decreased $1.3 million, or 12.3%, during the three months ended September 30, 2022 compared to the same period in 2021 primarily due to personnel and related cost decreases of $1.2 million driven by personnel and contractor resources dedicated to the launch of our Protolabs 2.0 system in 2021 and a $0.2 million decrease in professional services and other operating costs, which were partially offset by increases of $0.1 million in Hubs' research and development expenses. 

 

General and Administrative. Our general and administrative expenses decreased $0.6 million, or 3.7%, during the three months ended September 30, 2022 compared to the same period in 2021 primarily due to a benefit of $1.2 million resulting from the sale of a facility, a decrease of $0.9 million in administrative costs and a decrease of $0.5 million in personnel and related costs, which were partially offset by an increase of professional services of $0.6 million, an increase in stock based compensation costs of $0.3 million, and increases of $1.1 million in Hubs' general and administrative expenses.

 

Closure of Japan business. Our decision to close our Japan business resulted in $1.2 million in operating expenses during the three months ended September 30, 2022. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets. We had no expenses related to the closure of our Japan business in 2021.

 

Changes in fair value of contingent consideration. We had no contingent consideration liabilities recorded during 2022. The change in fair value of contingent consideration associated with the acquisition of Hubs was $0.8 million during the three months ended September 30, 2021. 

  

Other income (loss), net. We recognized no other income, net for the three months ended September 30, 2022, a decrease of $0.1 million compared to other income, net of $0.1 million for the three months ended September 30, 2021. Other income, net for the three months ended September 30, 2022 primarily consisted of a $0.4 million loss on foreign currency, which was offset by $0.4 million in interest income on investments and other income. Other income, net for the three months ended September 30, 2021 primarily consisted of a $0.3 million in interest income on investments and other income, which were partially offset by a $0.2 million loss on foreign currency.

 

Provision for Income Taxes. Our effective tax rate of 34.5% for the three months ended September 30, 2022 increased 3.0% compared to 31.5% for the same period in 2021. The increase in the effective tax rate is primarily due to an increase in losses in jurisdictions, mainly Japan, that are not eligible for tax benefits due to valuation allowances. Our income tax provision of $2.1 million for the three months ended September 30, 2022 decreased $0.1 million compared to our income tax provision of $2.2 million for the three months ended September 30, 2021.

 

 

 

Comparison of Nine Months Ended September 30, 2022 and 2021

 

Revenue

 

Revenue by reportable segment and the related changes for the nine months ended September 30, 2022 and 2021 were as follows:

 


 

   

Nine Months Ended September 30,

                 
   

2022

   

2021

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

   

$

   

%

 

Revenue

                                               

United States

  $ 295,121       79.2 %   $ 286,524       78.6 %   $ 8,597       3.0 %

Europe

    69,441       18.6       68,259       18.7       1,182       1.7  

Japan

    8,229       2.2       9,733       2.7       (1,504 )     (15.5 )

Total revenue

  $ 372,791       100.0 %   $ 364,516       100.0 %   $ 8,275       2.3 %

 


 

Our revenue increased $8.3 million, or 2.3%, for the nine months ended September 30, 2022 compared to the same period in 2021. By reportable segment, revenue in the United States increased $8.6 million, or 3.0%, for the nine months ended September 30, 2022 compared to the same period in 2021. Revenue in Europe increased $1.2 million, or 1.7%, and revenue in Japan decreased $1.5 million, or 15.5%, in each case for the nine months ended September 30, 2022 compared to the same period in 2021. The decrease in Japan revenue was driven by our decision in the second quarter of 2022 to close our Japan operations. Our acquisition of Hubs provided revenue of $17.5 million and $12.5 million in the United States and $16.2 million, and $10.9 million in Europe, for each of the nine months ended September 30, 2022 and 2021. Hubs revenue in 2021 represents the period from January 22, 2021, the date of acquisition, through September 30, 2021. International revenue was negatively impacted by $8.4 million during the nine months ended September 30, 2022 compared to the same period in 2021 as a result of foreign currency movements, primarily the weakening of the British Pound and Euro relative to the United States Dollar.

 

During the nine months ended September 30, 2022, we served 47,793 unique product developers and engineers, an increase of 2.4% over the same period in 2021. Our growth in product developers and engineers served increased at a rate consistent with our revenue growth. The average spend per product developer and engineer was impacted by the impact of foreign currency movements, primarily the weakening of the British Pound and Euro relative to the United States Dollar. 

 

Revenue by product line and the related changes for the nine months ended September 30, 2022 and 2021 were as follows:

 


 

   

Nine Months Ended September 30,

                 
   

2022

   

2021

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

   

$

   

%

 

Revenue

                                               

Injection Molding

  $ 155,693       41.8 %   $ 172,212       47.2 %   $ (16,519 )     (9.6 )%

CNC Machining

    141,809       38.0       121,953       33.5       19,856       16.3  

3D Printing

    59,458       15.9       53,994       14.8       5,464       10.1  

Sheet Metal

    15,066       4.1       14,790       4.1       276       1.9  

Other Revenue

    765       0.2       1,567       0.4       (802 )     (51.2 )

Total revenue

  $ 372,791       100.0 %   $ 364,516       100.0 %   $ 8,275       2.3 %

 


 

By product line, our revenue increase was driven by a 16.3% increase in CNC Machining revenue, a 10.1% increase in 3D Printing revenue, and a 1.9% increase in Sheet Metal revenue, which was partially offset by a 9.6% decrease in Injection Molding revenue and a 51.2% decrease in Other Revenue, in each case for the nine months ended September 30, 2022 compared to the same period in 2021.

 

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of Revenue. Cost of revenue increased $8.7 million, or 4.4%, for the nine months ended September 30, 2022 compared to the same period in 2021, which was greater than the rate of revenue increase of 2.3% for the nine months ended September 30, 2022 compared to the same period in 2021. Cost of revenue increased $3.8 million in our digital manufacturing business, which was driven by an increase in raw material and product costs of $3.7 million resulting from materials cost inflation and higher logistics costs and an increase in equipment and facility related costs of $0.4 million, which were partially offset by a decrease in our personnel and labor costs of $0.3 million. Our acquisition of Hubs provided a $4.9 million increase in cost of revenue for the nine months ended September 30, 2022 when compared to the same period in 2021.

 

Gross Profit and Gross Margin. Gross profit decreased from $167.3 million in the nine months ended September 30, 2021 to $166.9 million in the nine months ended September 30, 2022. Gross margin decreased from 45.9% in the nine months ended September 30, 2021 to 44.8% in the nine months ended September 30, 2022, primarily due to materials cost inflation as described above and the mix of revenue.

 

Operating Expenses, Other Income (Loss), net and Provision for Income Taxes

 

Marketing and Sales. Marketing and sales expenses increased $0.3 million, or 0.5%, during the nine months ended September 30, 2022 compared to the same period in 2021. Hubs provided a $1.7 million increase in marketing and sales expenses, which was partially offset by a decrease in our digital manufacturing business personnel and related costs of $1.2 million and marketing program cost decreases of $0.2 million during the nine months ended September 30, 2022 when compared to the same period in 2021.

 

Research and Development. Our research and development expenses decreased $4.5 million, or 13.4%, during the nine months ended September 30, 2022 compared to the same period in 2021 primarily due to personnel and related cost decreases of $5.1 million driven by personnel and contractor resources dedicated to the launch and support of our Protolabs 2.0 system in 2021 and decreases in professional services and other operating costs of $0.2 million. The decrease was partially offset by a $0.8 million increase in Hubs' research and development expenses during the nine months ended September 30, 2022 when compared to the same period in 2021.

 

General and Administrative. Our general and administrative expenses decreased $2.9 million, or 5.6%, during the nine months ended September 30, 2022 compared to the same period in 2021 primarily due to a decrease of $1.8 million in professional service costs primarily driven by increased transaction costs in 2021 related to our acquisition of Hubs, a decrease of $1.1 million in stock-based compensation expense primarily driven by increased stock-based compensation expense in 2021 related to the retirement of our CEO, a decrease of $2.2 million in administrative costs, which includes a benefit of $1.2 million resulting from the sale of a facility, and a decrease of $0.4 million in personnel and related costs, which was partially offset by our acquisition of Hubs, which provided an increase of $2.6 million in general and administrative expenses during the nine months ended September 30, 2022 when compared to the same period in 2021.

 

Closure of Japan business. Our decision to close our Japan business resulted in $6.4 million in operating expenses during the nine months ended September 30, 2022. Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges. We had no expenses related to the closure of our Japan business in 2021.

 

Changes in fair value of contingent consideration. We had no contingent consideration liabilities recorded during 2022. The change in fair value of contingent consideration associated with the acquisition of Hubs was $8.5 million during the nine months ended September 30, 2021. 

  

Other Loss, net. We recognized other loss, net of $0.3 million for the nine months ended September 30, 2022, an increase of $0.3 million compared to no other loss, net for the nine months ended September 30, 2021. Other loss, net for the nine months ended September 30, 2022 primarily consisted of a $0.8 million loss on foreign currency, which was partially offset by $0.5 million in interest income on investments and other income. Other loss, net for the nine months ended September 30, 2021 primarily consisted of a $0.6 million loss on foreign currency, which was offset by $0.6 million in interest income on investments and other income.

 

Provision for Income Taxes. Our effective tax rate of 38.4% for the nine months ended September 30, 2022 increased 17.2% compared to 21.2% for the same period in 2021. The increase in the effective tax rate is primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options, as well as an increase in losses in jurisdictions, mainly Japan, that are not eligible for tax benefits due to valuation allowances. Our income tax provision of $7.2 million for the nine months ended September 30, 2022 increased $1.4 million compared to our income tax provision of $5.8 million for the nine months ended September 30, 2021.

 

 

 

Liquidity and Capital Resources

 

Cash Flows

 

The following table summarizes our cash flows during the nine months ended September 30, 2022 and 2021:

 


 

   

Nine Months Ended September 30,

 

(dollars in thousands)

  2022     2021  

Net cash provided by operating activities

  $ 51,564     $ 32,225  

Net cash used in investing activities

    (43,365 )     (98,325 )

Net cash used in financing activities

    (12,795 )     (13,820 )

Effect of exchange rates on cash and cash equivalents

    (1,972 )     119  

Net decrease in cash and cash equivalents

  $ (6,568 )   $ (79,801 )

 


 

Sources of Liquidity

 

Historically, we have primarily financed our operations and capital expenditures through cash flow from operations. We had cash and cash equivalents of $59.4 million as of September 30, 2022, a decrease of $6.6 million from December 31, 2021. The decrease in our cash was primarily due to cash used in investing activity for net purchases of marketable securities of $30.2 million, net purchases of property, equipment and other capital assets of $13.2 million, and cash used in financing activities of $12.8 million, which were partially offset by cash generated through operations of $51.5 million.

 

Cash Flows from Operating Activities

 

Cash flows from operating activities were $51.5 million during the nine months ended September 30, 2022 and primarily consisted of net income of $11.6 million, adjusted for certain non-cash items, including depreciation and amortization of $30.0 million, stock-based compensation expense of $13.3 million, and impairments related to the closure of our Japan business of $2.8 million, and changes in operating assets and liabilities and other items totaling $3.9 million, which were partially offset by deferred taxes of $8.9 million and a gain on disposal of property and equipment of $1.2 million. Cash flows from operating activities were $32.2 million during the nine months ended September 30, 2021 and primarily consisted of net income of $21.5 million, adjusted for certain non-cash items, including depreciation and amortization of $30.2 million and stock-based compensation expense of $15.5 million, which were partially offset by a decrease in the fair value of contingent consideration of $8.5 million and changes in operating assets and liabilities and other items totaling $26.5 million.

 

Cash flows from operating activities increased $19.3 million during the nine months ended September 30, 2022 compared to the same period in 2021, primarily due to changes in operating assets and liabilities totaling $30.7 million, changes in fair value of contingent consideration of $8.5 million, and costs related to the closure of our Japan business of $2.8 million, which were partially offset by decreases in net income of $9.9 million, stock-based compensation of $2.2 million, deferred taxes of $8.8 million, gain on disposal of property and equipment of $1.2 million, depreciation and amortization of $0.3 million and $0.3 million in other items.

 

Cash Flows from Investing Activities

 

Cash used in investing activities was $43.4 million during the nine months ended September 30, 2022, consisting of $30.2 million for net purchases of marketable securities and $13.2 million for net purchases of property, equipment and other capital assets.

 

Cash used in investing activities was $98.3 million during the nine months ended September 30, 2021, consisting of $127.4 million in cash used for acquisitions, net of cash acquired and $27.9 million for the purchases of property, equipment and other capital assets, which were partially offset by $57.0 million for net proceeds from investments in marketable securities.

 

 

Cash Flows from Financing Activities

 

Cash used in financing activities was $12.8 million during the nine months ended September 30, 2022, consisting of $13.1 million in repurchases of common stock, $1.6 million in purchases of shares withheld for tax obligations associated with equity transactions and $0.4 million for repayments of finance lease obligations, which were partially offset by $2.3 million in proceeds from exercises of stock options.

 

Cash used in financing activities was $13.8 million during the nine months ended September 30, 2021, consisting of $13.0 million in repurchases of common stock, $4.2 million in purchases of shares withheld for tax obligations associated with equity transactions, and $0.4 million for repayments of finance lease obligations, which were partially offset by $3.8 million in proceeds from the exercise of stock options.

 

Off-Balance Sheet Arrangements

 

Since our inception, we have not engaged in any off-balance sheet arrangements, including the use of structured finance, special purpose entities or variable interest entities.

 

Critical Accounting Policies and Use of Estimates

 

We have adopted various accounting policies to prepare the Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP). Our significant accounting policies are disclosed in Note 2 to the Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2021. There were no material changes to our critical accounting policies during the nine months ended September 30, 2022.

 

Recent Accounting Pronouncements

 

For information on recent accounting pronouncements, see Note 2 to the Consolidated Financial Statements appearing in Part I, Item 1 in this Quarterly Report on Form 10-Q.

 

 

Item 3. Quantitative and Qualitative Disclosures about Market Risk

 

Foreign Currency Risk

 

As a result of our foreign operations, we have revenue, expenses, assets and liabilities that are denominated in foreign currencies. We generate revenue and incur production costs and operating expenses in British Pounds, Euros and Japanese Yen.

 

Our operating results and cash flows are adversely impacted when the United States Dollar appreciates relative to foreign currencies. Additionally, our operating results and cash flows are adversely impacted when the British Pound appreciates relative to the Euro. As we expand internationally, our results of operations and cash flows will become increasingly subject to changes in foreign currency exchange rates.

 

We have not used forward contracts or currency borrowings to hedge our exposure to foreign currency risk. Foreign currency risk can be assessed by estimating the change in results of operations or financial position resulting from a hypothetical 10% adverse change in foreign exchange rates. We believe such a change would generally not have a material impact on our financial position, but could have a material impact on our results of operations. We recognized foreign currency losses of $0.4 million and $0.2 million during the three months ended September 30, 2022 and 2021, respectively.  We recognized foreign currency losses of $0.8 million and $0.6 million during the nine months ended September 30, 2022 and 2021, respectively. The changes in foreign exchange rates had a negative impact on consolidated revenue of $4.1 million for the three months ended September 30, 2022 and $8.4 million for the nine months ended September 30, 2022 as compared to the same periods in 2021.

 

 

Item 4. Controls and Procedures

 

Evaluation of Disclosure Controls and Procedures

 

Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) under the Securities Exchange Act of 1934 (Exchange Act)) as of the end of the period covered by this report. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of the period covered by this quarterly report, our disclosure controls and procedures are effective and provide reasonable assurance that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported accurately and within the time frames specified in the SEC’s rules and forms and accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.

 

Changes in Internal Control over Financial Reporting

 

There have been no changes in our internal control over financial reporting (as such term is defined in Rule 13a-15(f) under the Exchange Act) during the period covered by this report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

 

 

PART II. OTHER INFORMATION

 

Item 1. Legal Proceedings

 

From time to time, we are subject to various legal proceedings and claims that arise in the ordinary course of our business activities. Although the results of litigation and claims cannot be predicted with certainty, as of the date of these financial statements, we do not believe we are party to any litigation the outcome of which, if determined adversely to us, would individually or in the aggregate be reasonably expected to have a material adverse effect on our business. 

 

Item 1A. Risk Factors

 

Part I, Item 1A. “Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2021 includes a discussion of our risk factors. There have been no material changes from the risk factors described in our Form 10-K.

 

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

 

On February 9, 2017, our board of directors authorized the repurchase of shares of our common stock from time to time on the open market or in privately negotiated purchases, at an aggregate purchase price of up to $50 million. On May 16, 2019, we announced that our board of directors approved a $50 million increase in its authorized stock repurchase program and extended the term of the program through December 31, 2023, which increased the stock repurchase program to $100 million. On December 8, 2021, our board of directors approved a $50 million increase in its authorized stock repurchase program, which increased the total expenditure authorized to $150 million. We have $48.8 million remaining under this authorization. The timing and amount of any share repurchases will be determined by our management based on market conditions and other factors.

 

During the three months ended September 30, 2022, we repurchased 207,500 shares of our common stock at a total purchase price of $7.8 million under this program.  Common stock repurchase activity through September 30, 2022 was as follows:

 

Period

 

Total Number of Shares Purchased

   

Average Price Paid per Share

   

Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs

   

Maximum Dollar Value of Shares that May Yet Be Purchased Under the Plans or Programs (in thousands) (1)

 

July 1, 2022 through July 31, 2022

    -     $ -       -     $ 56,669  

August 1, 2022 through August 31, 2022

    -     $ -       -     $ 56,669  

September 1, 2022 through September 30, 2022

    207,500     $ 37.73       207,500     $ 48,841  
      207,500     $ 37.73       207,500     $ 48,841  

 

Item 3. Defaults Upon Senior Securities

 

No matters to disclose.

 

Item 4. Mine Safety Disclosures

 

No matters to disclose.

 

Item 5. Other Information

 

No matters to disclose.

 

 

Item 6. Exhibits

 

The following documents are filed as part of this report:

 

Exhibit Number

 

Description of Exhibit

3.1(1)

 

Third Amended and Restated Articles of Incorporation of Proto Labs, Inc.

3.2(2)

  Articles of Amendment to Third Amended and Restated Articles of Incorporation of Proto Labs, Inc. dated May 20, 2015

3.3(3)

 

Second Amended and Restated By-Laws of Proto Labs, Inc., as amended through November 8, 2016

10.1(4)   Proto Labs, Inc. 2022 Long-Term Incentive Plan
10.2(5)   Form of Incentive Stock Option Agreement under the 2022 Long-Term Incentive Plan
10.3(6)   Form of Non-Statutory Stock Option Agreement (Directors) under the 2022 Long-Term Incentive Plan
10.4(7)   Form of Non-Statutory Stock Option Agreement (U.S. Employees) under the 2022 Long-Term Incentive Plan
10.5(8)   Form of Non-Statutory Stock Option Agreement (U.K. Employees) under the 2022 Long-Term Incentive Plan
10.6(9)   Form of Restricted Stock Unit Award Agreement under the 2022 Long-Term Incentive Plan (U.S. Employees)
10.7(10)   Form of Restricted Stock Unit Award Agreement under the 2022 Long-Term Incentive Plan (U.K. Employees)
10.8(11)   Form of Restricted Stock Unit Award Agreement under the 2022 Long-Term Incentive Plan (Directors)
10.9(12)   Form of Performance Stock Unit Award Agreement under the 2022 Long-Term Incentive Plan
10.10(13)   Form of Deferred Stock Unit Award Agreement under the 2022 Long-Term Incentive Plan

31.1

 

Certification of the Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act*

31.2

 

Certification of the Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act*

32.1

 

Certification of the Chief Executive Officer and the Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act*

101.INS   Inline XBRL Instance Document (the Instance Document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document)

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 (formatted as Inline XBRL and contained in Exhibit 101)

 

(1)

Previously filed as Exhibit 3.2 to the Company’s Registration Statement on Form S-1/A, filed with the Commission on February 13, 2012, and incorporated by reference herein.

(2)

Previously filed as Exhibit 3.1 to the Company's Form 8-K, filed with the Commission on May 21, 2015 and incorporated by reference herein.

(3)

Previously filed as Exhibit 3.1 to the Company's Form 8-K, filed with the Commission on November 8, 2016 and incorporated by reference herein.
(4) Previously filed as Exhibit 10.1 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(5) Previously filed as Exhibit 10.2 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(6) Previously filed as Exhibit 10.3 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(7) Previously filed as Exhibit 10.4 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(8) Previously filed as Exhibit 10.5 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(9) Previously filed as Exhibit 10.6 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(10) Previously filed as Exhibit 10.7 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(11) Previously filed as Exhibit 10.8 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(12) Previously filed as Exhibit 10.9 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
(13) Previously filed as Exhibit 10.10 to the Company's Form 8-K, filed with the Commission on August 30, 2022 and incorporated by reference herein.
* Filed herewith.

 

 

SIGNATURE

 

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

 

 

 

Proto Labs, Inc.

 

 

 

 

 

Date: November 4, 2022

 

/s/ Robert Bodor

 

 

 

Robert Bodor

 

 

 

President and Chief Executive Officer

(Principal Executive Officer)

 

 

Date: November 4, 2022

 

/s/ Daniel Schumacher

 

 

 

Daniel Schumacher

 

 

 

Chief Financial Officer

(Principal Financial Officer)

 

 

 

30
EX-31.1 2 ex_415126.htm EXHIBIT 31.1 ex_415126.htm

 

Exhibit 31.1

 

CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF

THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002

 

I, Robert Bodor, certify that:

 

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

 

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

 

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

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

 

a)

Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

 

b)

Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

 

c)

Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d)

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting;

 

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

 

a)

All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

 

b)

Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: November 4, 2022

 

 

 

By:

 

/s/ Robert Bodor

 

 

 

 

 

 

Robert Bodor

 

 

 

 

 

 

President and Chief Executive Officer

 

 

 

 

 

 

(Principal Executive Officer)

 

 

 
EX-31.2 3 ex_415127.htm EXHIBIT 31.2 ex_415127.htm

 

Exhibit 31.2

 

CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF

THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002 

 

I, Daniel Schumacher, certify that:

 

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

 

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

 

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

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

 

a)

Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

 

b)

Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

 

c)

Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d)

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting;

 

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

 

a)

All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

 

b)

Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: November 4, 2022

 

 

 

By:

 

/s/ Daniel Schumacher

 

 

 

 

 

 

Daniel Schumacher

 

 

 

 

 

 

Chief Financial Officer

 

 

 

 

 

 

(Principal Financial Officer)

 

 
EX-32.1 4 ex_415128.htm EXHIBIT 32.1 ex_415128.htm

 

Exhibit 32.1

 

 

CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER

PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Robert Bodor, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Proto Labs, Inc. on Form 10-Q for the fiscal quarter ended September 30, 2022 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.

 

Date: November 4, 2022

 

 

By:

 

/s/ Robert Bodor

 

Name:

Robert Bodor

 

Title:

 

President and Chief Executive Officer

 

 

 

I, Daniel Schumacher, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Proto Labs, Inc. on Form 10-Q for the fiscal quarter ended September 30, 2022 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.

 

Date: November 4, 2022

 

 

By:

 

/s/ Daniel Schumacher

 

Name:

Daniel Schumacher

 

Title:

 

Chief Financial Officer

 

 
EX-101.SCH 5 prlb-20220930.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Balance Sheets (Current Period Unaudited) link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Statements of Shareholders' Equity (Unaudited) link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:calculationLink link:definitionLink link:presentationLink 006 - Disclosure - Note 1 - Basis of Presentation link:calculationLink link:definitionLink link:presentationLink 007 - Disclosure - Note 2 - Recent Accounting Pronouncements link:calculationLink link:definitionLink link:presentationLink 008 - Disclosure - Note 3 - Net Income Per Common Share link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 4 - Business Combinations link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 5 - Goodwill and Other Intangible Assets link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 6 - Assets Held for Sale link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 7 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 8 - Marketable Securities link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 9 - Inventory link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 10 - Stock-based Compensation link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Note 12 - Income Taxes link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 13 - Segment Reporting link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 3 - Net Income Per Common Share (Tables) link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 4 - Business Combinations (Tables) link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 5 - Goodwill and Other Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 7 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 023 - Disclosure - Note 8 - Marketable Securities (Tables) link:calculationLink link:definitionLink link:presentationLink 024 - Disclosure - Note 9 - Inventory (Tables) link:calculationLink link:definitionLink link:presentationLink 025 - Disclosure - Note 10 - Stock-based Compensation (Tables) link:calculationLink link:definitionLink link:presentationLink 026 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) (Tables) link:calculationLink link:definitionLink link:presentationLink 027 - Disclosure - Note 13 - Segment Reporting (Tables) link:calculationLink link:definitionLink link:presentationLink 028 - Disclosure - Note 1 - Basis of Presentation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 029 - Disclosure - Note 3 - Net Income Per Common Share (Details Textual) link:calculationLink link:definitionLink link:presentationLink 030 - Disclosure - Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) link:calculationLink link:definitionLink link:presentationLink 031 - Disclosure - Note 4 - Business Combinations (Details Textual) link:calculationLink link:definitionLink link:presentationLink 032 - Disclosure - Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) link:calculationLink link:definitionLink link:presentationLink 033 - Disclosure - Note 5 - Goodwill and Other Intangible Assets (Details Textual) link:calculationLink link:definitionLink link:presentationLink 034 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 035 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 036 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) link:calculationLink link:definitionLink link:presentationLink 037 - Disclosure - Note 6 - Assets Held for Sale (Details Textual) link:calculationLink link:definitionLink link:presentationLink 038 - Disclosure - Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 039 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) link:calculationLink link:definitionLink link:presentationLink 040 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) link:calculationLink link:definitionLink link:presentationLink 041 - Disclosure - Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) link:calculationLink link:definitionLink link:presentationLink 042 - Disclosure - Note 9 - Inventory - Inventory (Details) link:calculationLink link:definitionLink link:presentationLink 043 - Disclosure - Note 10 - Stock-based Compensation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 044 - Disclosure - Note 10 - Stock-based Compensation - Stock Option Activity (Details) link:calculationLink link:definitionLink link:presentationLink 045 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) link:calculationLink link:definitionLink link:presentationLink 046 - Disclosure - Note 10 - Stock-based Compensation - Restricted Stock Options (Details) link:calculationLink link:definitionLink link:presentationLink 047 - Disclosure - Note 10 - Stock-based Compensation - Performance Stock (Details) link:calculationLink link:definitionLink link:presentationLink 048 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) link:calculationLink link:definitionLink link:presentationLink 049 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) link:calculationLink link:definitionLink link:presentationLink 050 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 051 - Disclosure - Note 12 - Income Taxes (Details Textual) link:calculationLink link:definitionLink link:presentationLink 052 - Disclosure - Note 13 - Segment Reporting (Details Textual) link:calculationLink link:definitionLink link:presentationLink 053 - Disclosure - Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) link:calculationLink link:definitionLink link:presentationLink 054 - Disclosure - Note 13 - Segment Reporting - Income From Operations (Details) link:calculationLink link:definitionLink link:presentationLink 055 - Disclosure - Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details) link:calculationLink link:definitionLink link:presentationLink 056 - Disclosure - Note 13 - Segment Reporting - Disaggregation of Revenue (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 6 prlb-20220930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 7 prlb-20220930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 8 prlb-20220930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information Expected dividend yield Note To Financial Statement Details Textual Note 3 - Net Income Per Common Share Note 4 - Business Combinations Note 5 - Goodwill and Other Intangible Assets Risk-free interest rate us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets Current assets Note 7 - Fair Value Measurements Note 8 - Marketable Securities Note 9 - Inventory us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets Intangible assets Note 10 - Stock-based Compensation Note 11 - Accumulated Other Comprehensive Income (Loss) Note 13 - Segment Reporting prlb_EmployeeStockPurchasePlanOfferingPeriod Employee Stock Purchase Plan, Offering Period (Month) The offering period during which employees may purchase stock through the Employee Stock Purchase Plan. Income Tax Disclosure [Text Block] Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) Net unrealized gains (losses) on investments in securities Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details) Expected volatility Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) us-gaap_LiabilitiesCurrent Total current liabilities Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) Expected life (months) (Month) Expected life (years) (Year) Assets acquired: Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Note 9 - Inventory - Inventory (Details) Note 10 - Stock-based Compensation - Stock Option Activity (Details) us-gaap_BusinessCombinationConsiderationTransferred1 Business Combination, Consideration Transferred, Total Total purchase consideration Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) Note 10 - Stock-based Compensation - Restricted Stock Options (Details) us-gaap_FinitelivedIntangibleAssetsAcquired1 Finite-Lived Intangible Assets Acquired Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block] US States and Political Subdivisions Debt Securities [Member] Note 10 - Stock-based Compensation - Performance Stock (Details) Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Note 13 - Segment Reporting - Income From Operations (Details) Share-Based Payment Arrangement, Option, Activity [Table Text Block] Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Note 13 - Segment Reporting - Disaggregation of Revenue (Details) Granted, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Granted, weighted-average grant date fair value (in dollars per share) Notes To Financial Statements Restrictions lapsed, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue Restrictions lapsed, weighted-average grant date fair value (in dollars per share) Notes To Financial Statements [Abstract] Forfeited, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue Forfeited, weighted-average grant date fair value (in dollars per share) Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Restricted stock, weighted-average grant date fair value (in dollars per share) Restricted stock, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Forfeited (in shares) Commercial Paper, Not Included with Cash and Cash Equivalents [Member] us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax Foreign currency translation adjustment us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Restricted stock (in shares) Restricted stock (in shares) Proceeds from call redemptions and maturities of marketable securities Proceeds from sales of marketable securities Other comprehensive income (loss) before reclassifications US Government Agencies Debt Securities [Member] us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent Amounts reclassified from accumulated other comprehensive loss us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod Granted (in shares) Corporate Debt Securities [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod Restrictions lapsed (in shares) Schedule of Nonvested Performance-Based Units Activity [Table Text Block] Options exercisable, weighted-average exercise price (in dollars per share) Options exercisable (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt Purchases of marketable securities Financial Instruments [Domain] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice Options outstanding, weighted-average exercise price (in dollars per share) Options outstanding, weighted-average exercise price (in dollars per share) prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent Current contingent consideration The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as current Forfeited, weighted-average exercise price (in dollars per share) Expired (in dollars per share) Financial Instrument [Axis] prlb_DisposalGroupWritedownOfFixedAssetsOperatingExpense Disposal Group, Write-down of Fixed Assets, Operating Expense Amount of write down of fixed assets, operating expense, attributable to disposal group. Due after one year through five years Goodwill and Intangible Assets Disclosure [Text Block] prlb_DisposalGroupFacilityrelatedChargesOperatingExpense Disposal Group, Facility-related Charges, Operating Expense Amount of facility-related charges, operating expense, attributable to disposal group. Schedule of Goodwill [Table Text Block] us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice Granted, weighted-average exercise price (in dollars per share) Exercised, weighted-average exercise price (in dollars per share) prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent Long-term contingent consideration The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as noncurrent. Accrued compensation prlb_DisposalGroupEmployeeSeveranceOperatingExpense Disposal Group, Employee Severance, Operating Expense Amount of employee severance, operating expense, attributable to disposal group. Due in one year or less Income taxes payable Manufacturing Facility in Japan [Member] Represents manufacturing facility in Japan. us-gaap_AccountsPayableCurrent Accounts payable prlb_DisposalGroupOtherClosureRelatedChargesOperatingExpense Disposal Group, Other Closure Related Charges, Operating Expense Amount of other closure related charges, operating expense, attributable to disposal group.. us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber Options outstanding (in shares) Options outstanding (in shares) Proceeds from sales of property, equipment and other capital assets us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod Expired (in shares) us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment Proceeds from Sale of Property, Plant, and Equipment, Total Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] us-gaap_PolicyTextBlockAbstract Accounting Policies Trade Names [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent Employee stock options and other (in shares) us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Purchases of property, equipment and other capital assets Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block] Tabular disclosure of the valuation assumptions of share-based payment awards other than stock options. us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) Noncompete Agreements [Member] Current liabilities Marketing-Related Intangible Assets [Member] Shares used to compute net income per share: us-gaap_AssetsHeldForSaleNotPartOfDisposalGroup Assets Held-for-sale, Not Part of Disposal Group, Total us-gaap_Assets Total assets Plan Name [Axis] Plan Name [Domain] Other Products [Member] Represents other products. us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) Customer Relationships [Member] Investment [Text Block] Facility in Maple Plain, Minnesota [Member] Related to facility in Maple Plain, Minnesota. Computer Software, Intangible Asset [Member] Share-Based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Contingent Consideration by Type [Axis] Contingent Consideration Type [Domain] Award Type [Domain] Performance change, weighted-average grant date fair value (in dollars per share) Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options. Performance change (in shares) Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan). Award Type [Axis] Net income Net income us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization Accumulated Amortization Net Total estimated amortization expense Gross Restricted Stock [Member] Performance Shares [Member] Share-Based Payment Arrangement, Option [Member] us-gaap_GoodwillForeignCurrencyTranslationGainLoss Foreign currency translation adjustments Goodwill acquired during the period Business Combination Disclosure [Text Block] Property and equipment, net Long-lived assets Goodwill Goodwill Goodwill Goodwill Bank Time Deposits [Member] Investing activities Marketable securities Fair Value Total marketable securities Amortized Cost Net income per share: Earnings Per Share [Text Block] Income taxes prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. Provision for income taxes Income Tax Expense (Benefit), Total Accounts payable us-gaap_OperatingExpenses Total operating expenses General and administrative Cash and cash equivalents Disclosure of Assets Held-for-sale [Text Block] The entire disclosure for assets held-for-sale. us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss Unrealized Losses Unrealized Gains Employee Stock Purchase Plan [Member] Information pertaining to the Employee Stock Purchase Plan. us-gaap_AllocatedShareBasedCompensationExpense Share-Based Payment Arrangement, Expense Amendment Flag Comprehensive Income (Loss) (net of tax) Comprehensive income (loss) City Area Code us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities Accrued liabilities and other us-gaap_GainLossOnSaleOfPropertyPlantEquipment Gain (Loss) on Disposition of Property Plant Equipment, Total Gain on disposal of property and equipment Common stock, shares outstanding (in shares) Balance (in shares) Balance (in shares) prlb_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour Thereafter 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). Preferred stock, shares outstanding (in shares) Acquired 3D Hubs [Member] Represents acquired 3D Hubs. Current Fiscal Year End Date us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other Document Fiscal Period Focus Document Fiscal Year Focus Document Period End Date Entity File Number Entity Emerging Growth Company Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] us-gaap_AreaOfRealEstateProperty Area of Real Estate Property (Square Foot) Impairments related to closure of Japan business Entity Filer Category Entity Current Reporting Status Debt Securities, Held-to-Maturity [Table Text Block] us-gaap_IncreaseDecreaseInAccountsReceivable Accounts receivable Stock-based compensation expense Entity Tax Identification Number Entity Central Index Key Entity Registrant Name Entity [Domain] Legal Entity [Axis] Entity Address, Address Line One us-gaap_AmortizationOfIntangibleAssets Amortization of Intangible Assets Entity Address, City or Town Entity Address, Postal Zip Code Entity Address, State or Province Long-Term Incentive Plan 2012 [Member] Information pertaining to the 2012 Long-Term Incentive Plan. Entity Common Stock, Shares Outstanding us-gaap_StockRepurchasedAndRetiredDuringPeriodValue Repurchases of common stock us-gaap_StockRepurchasedAndRetiredDuringPeriodShares Repurchases of common stock (in shares) us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Common shares issued for Hubs acquisition (in shares) Local Phone Number Common shares issued for Hubs acquisition us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised Exercised (in shares) us-gaap_TableTextBlock Notes Tables Common shares issued on exercise of options and other, net of shares withheld for tax obligations Sheet Metal [Member] Represents the information pertaining to sheet metal. Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross Granted (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod Forfeited (in shares) Marketing and sales prlb_GoodwillWrittenOff Goodwill, Written Off Goodwill written off during the period Amount of write-off of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized. Closure of Japan business Disposal Group, Operating Expense Amount of operating expense from disposal group. Fair Value us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and shareholders' equity UNITED STATES Retained earnings Research and development Accumulated other comprehensive loss Money Market Funds [Member] Cash [Member] Changes in operating assets and liabilities: us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements Inventory Disclosure [Text Block] Long-term operating lease liabilities Schedule of Inventory, Current [Table Text Block] Current operating lease liabilities Other intangible assets, net Current finance lease liabilities Long-term finance lease liabilities Operating lease assets us-gaap_FinanceLeasePrincipalPayments Principal repayments of finance lease obligations Deferred taxes us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear Remaining 2022 Finance lease assets us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo 2024 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree 2025 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour 2026 Debt Securities, Available-for-Sale [Table Text Block] Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths 2023 Other long-term assets us-gaap_ShareBasedCompensation Stock-based compensation expense Weighted average useful life remaining (Year) Useful Life (Year) Operating expenses us-gaap_AssetsFairValueDisclosure Total us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments Other Schedule of Finite-Lived Intangible Assets [Table Text Block] Long-term marketable securities Depreciation and amortization Injection Molding (Protomold) [Member] Represents the Injection Molding (Protomold) product. us-gaap_AssetsCurrent Total current assets Cash Cash and cash equivalents 3D Printing (Fineline) [Member] Represents the 3D Printing (Fineline) product. CNC Machining (Firstcut) [Member] Represents the CNC Machining (Firstcut) product. Income taxes receivable Fair value of contingent consideration Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,326,750 and 27,465,945 shares as of September 30, 2022, and December 31, 2021, respectively Measurement Frequency [Axis] Adjustments to reconcile net income to net cash provided by operating activities: Measurement Frequency [Domain] Fair Value, Recurring [Member] Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Common stock, par value (in dollars per share) Statistical Measurement [Domain] Maximum [Member] Minimum [Member] Product and Service [Axis] Product and Service [Domain] Statistical Measurement [Axis] Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of September 30, 2022, and December 31, 2021 Preferred stock, shares issued (in shares) Corporate Unallocated and Japan Segment[Member] Segment for corporate unallocated expenses and Japan. Geographical [Axis] Europe Segment [Member] Operating segment for Europe Geographical [Domain] Preferred stock, shares authorized (in shares) United States Segment [Member] Operating segment for United States. Inventory Inventory, net of allowance Japan Segment [Member] Operating segment for Japan. Preferred stock, par value (in dollars per share) Revenue us-gaap_InventoryValuationReserves Allowance for obsolescence Fair Value, Inputs, Level 3 [Member] Fair Value Hierarchy and NAV [Domain] Total inventory Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value Hierarchy and NAV [Axis] Operating activities Statement [Line Items] Allowance for doubtful accounts Accounts receivable, net of allowance for doubtful accounts of $1,821 and $1,948 as of September 30, 2022, and December 31, 2021, respectively AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member] Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Statements of Operations: Short-term marketable securities Additional paid-in capital AOCI Attributable to Parent [Member] Shareholders' equity Other income (loss), net Segment Reporting Disclosure [Text Block] Current assets Fair Value Disclosures [Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Effect of exchange rate changes on cash and cash equivalents us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Net decrease in cash and cash equivalents us-gaap_Liabilities Total liabilities us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash used in financing activities us-gaap_OperatingIncomeLoss Income from operations Income from operations us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by operating activities Prepaid expenses and other current assets us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash used in investing activities us-gaap_GrossProfit Gross profit Income from Operations by Geographic Area [Table Text Block] Tabular disclosure of income from operations by geographic area. Cost of revenue Consolidation Items [Domain] Long-term deferred tax liabilities Consolidation Items [Axis] us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Purchases of shares withheld for tax obligations Disposal Group, Disposed of by Means Other than Sale, Not Discontinued Operations [Member] Disposal Group Classification [Axis] Disposal Group Classification [Domain] us-gaap_PaymentsForRepurchaseOfCommonStock Repurchases of common stock prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. Retained Earnings [Member] Proceeds from exercises of stock options Additional Paid-in Capital [Member] Common Stock [Member] Equity Components [Axis] Equity Component [Domain] us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Income before income taxes Disclosure of Reclassification Amount [Text Block] Disaggregation of Revenue [Table Text Block] Document Quarterly Report Entity Incorporation, State or Country Code General and Administrative Expense [Member] us-gaap_UnrecognizedTaxBenefits Unrecognized Tax Benefits, Ending Balance Accounting Policies [Abstract] Significant Accounting Policies [Text Block] Document Transition Report Entity Interactive Data Current Security Exchange Name Title of 12(b) Security Income Statement Location [Axis] Income Statement Location [Domain] Real Estate, Type of Property [Axis] Real Estate [Domain] Accrued liabilities and other Segments [Axis] Segments [Domain] us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) Diluted (in shares) Diluted - weighted-average shares outstanding: (in shares) Asset Class [Axis] Asset Class [Domain] Statement [Table] Statement of Financial Position [Abstract] Diluted (in dollars per share) Diluted (in dollars per share) Basic (in shares) Basic - weighted-average shares outstanding: (in shares) us-gaap_EffectiveIncomeTaxRateContinuingOperations Effective Income Tax Rate Reconciliation, Percent, Total Business Acquisition [Axis] Basic (in dollars per share) Basic (in dollars per share) Business Acquisition, Acquiree [Domain] Statement of Cash Flows [Abstract] us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High ESPP [Member] ESPP [member Statement of Stockholders' Equity [Abstract] Income Statement [Abstract] us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent Net current-period other comprehensive income (loss) Disposal Group Name [Axis] Revenue from External Customers by Geographic Areas [Table Text Block] Disposal Group Name [Domain] Long-Lived Assets by Geographic Areas [Table Text Block] Software Platform [Member] Information pertaining to software platform. us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal Total assets acquired Amount of assets acquired including goodwill at the acquisition date Investments Classified by Contractual Maturity Date [Table Text Block] Fair Value, Assets Measured on Recurring Basis [Table Text Block] Financing activities us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Other long-term liabilities us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Total us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet Net assets acquired us-gaap_StockholdersEquity Total shareholders' equity Balance Balance us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities Total liabilities assumed Other comprehensive loss us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired Payments to Acquire Businesses, Net of Cash Acquired, Total Net cash consideration Cash used for acquisitions, net of cash acquired us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities Other long-term liabilities us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities Current liabilities Class of Stock [Axis] us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities Long-term deferred tax liabilities us-gaap_CashAcquiredFromAcquisition Cash acquired Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] us-gaap_PaymentsToAcquireBusinessesGross Payments to Acquire Businesses, Gross Comprehensive Income (Loss) [Table Text Block] us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax Unrealized Losses Liabilities assumed: us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax Unrealized Gains us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions Performance stock (in shares) Performance stock (in shares) Operating Segments [Member] us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis Amortized Cost us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets Other long-term assets EX-101.PRE 9 prlb-20220930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 10 R1.htm IDEA: XBRL DOCUMENT v3.22.2.2
Document And Entity Information - shares
9 Months Ended
Sep. 30, 2022
Nov. 01, 2022
Document Information [Line Items]    
Entity Central Index Key 0001443669  
Entity Registrant Name Proto Labs Inc  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Period Focus Q3  
Document Fiscal Year Focus 2022  
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2022  
Document Transition Report false  
Entity File Number 001-35435  
Entity Incorporation, State or Country Code MN  
Entity Tax Identification Number 41-1939628  
Entity Address, Address Line One 5540 Pioneer Creek Drive  
Entity Address, City or Town Maple Plain  
Entity Address, State or Province MN  
Entity Address, Postal Zip Code 55359  
City Area Code 763  
Local Phone Number 479-3680  
Title of 12(b) Security Common Stock, Par Value $0.001 Per Share  
Trading Symbol PRLB  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   27,116,891
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Balance Sheets (Current Period Unaudited) - USD ($)
$ in Thousands
Sep. 30, 2022
Dec. 31, 2021
Current assets    
Cash and cash equivalents $ 59,361 $ 65,929
Short-term marketable securities 25,253 11,580
Accounts receivable, net of allowance for doubtful accounts of $1,821 and $1,948 as of September 30, 2022, and December 31, 2021, respectively 80,611 80,051
Inventory 14,617 13,161
Income taxes receivable 763 1,321
Prepaid expenses and other current assets 11,752 11,450
Total current assets 192,357 183,492
Property and equipment, net 259,856 280,346
Goodwill 383,558 400,610
Other intangible assets, net 31,907 37,998
Long-term marketable securities 29,257 14,340
Operating lease assets 4,293 5,578
Finance lease assets 1,524 1,898
Other long-term assets 4,186 4,320
Total assets 906,938 928,582
Current liabilities    
Accounts payable 16,893 25,364
Accrued compensation 15,087 13,704
Accrued liabilities and other 25,478 11,980
Current operating lease liabilities 1,773 3,298
Current finance lease liabilities 1,484 550
Income taxes payable 5 0
Total current liabilities 60,720 54,896
Long-term operating lease liabilities 2,477 2,245
Long-term finance lease liabilities 0 1,351
Long-term deferred tax liabilities 26,864 35,892
Other long-term liabilities 6,031 5,705
Total liabilities 96,092 100,089
Shareholders' equity    
Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of September 30, 2022, and December 31, 2021 0 0
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,326,750 and 27,465,945 shares as of September 30, 2022, and December 31, 2021, respectively 28 28
Additional paid-in capital 477,107 468,548
Retained earnings 380,735 376,734
Accumulated other comprehensive loss (47,024) (16,817)
Total shareholders' equity 810,846 828,493
Total liabilities and shareholders' equity $ 906,938 $ 928,582
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) - USD ($)
$ in Thousands
Sep. 30, 2022
Dec. 31, 2021
Allowance for doubtful accounts $ 1,821 $ 1,948
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, shares authorized (in shares) 10,000,000 10,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 150,000,000 150,000,000
Common stock, shares issued (in shares) 27,326,750 27,465,945
Common stock, shares outstanding (in shares) 27,326,750 27,465,945
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Statements of Operations:        
Revenue $ 121,721 $ 125,342 $ 372,791 $ 364,516
Cost of revenue 68,089 70,018 205,933 197,237
Gross profit 53,632 55,324 166,858 167,279
Operating expenses        
Marketing and sales 20,594 21,422 62,235 61,946
Research and development 9,309 10,614 29,316 33,855
General and administrative 16,477 16,361 49,770 44,186
Closure of Japan business 1,194 0 6,388 0
Total operating expenses 47,574 48,397 147,709 139,987
Income from operations 6,058 6,927 19,149 27,292
Other income (loss), net (24) 136 (323) (40)
Income before income taxes 6,034 7,063 18,826 27,252
Provision for income taxes 2,083 2,228 7,223 5,790
Net income $ 3,951 $ 4,835 $ 11,603 $ 21,462
Net income per share:        
Basic (in dollars per share) $ 0.14 $ 0.17 $ 0.42 $ 0.78
Diluted (in dollars per share) $ 0.14 $ 0.17 $ 0.42 $ 0.77
Shares used to compute net income per share:        
Basic (in shares) 27,505,097 27,713,229 27,512,057 27,638,611
Diluted (in shares) 27,508,217 27,730,105 27,522,734 27,707,784
Comprehensive Income (Loss) (net of tax)        
Comprehensive income (loss) $ (6,924) $ (508) $ (18,604) $ 11,424
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($)
$ in Thousands
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balance (in shares) at Dec. 31, 2020 26,776,796        
Balance at Dec. 31, 2020 $ 27 $ 284,848 $ 362,901 $ (3,420) $ 644,356
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 48,955        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations   (290)     (290)
Stock-based compensation expense   5,620     5,620
Repurchases of common stock (in shares) 0        
Net income     3,712   3,712
Other comprehensive loss          
Foreign currency translation adjustment       (6,842) (6,842)
Net unrealized gains (losses) on investments in securities       166 166
Comprehensive income (loss) (2,964)
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 48,955        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations   (290)     (290)
Stock-based compensation expense   5,620     5,620
Repurchases of common stock (in shares) 0        
Net income     3,712   3,712
Balance (in shares) at Dec. 31, 2020 26,776,796        
Balance at Dec. 31, 2020 $ 27 284,848 362,901 (3,420) 644,356
Other comprehensive loss          
Common shares issued for Hubs acquisition (in shares) 863,995        
Common shares issued for Hubs acquisition $ 1 166,708 0 166,709
Balance (in shares) at Mar. 31, 2021 27,689,746        
Balance at Mar. 31, 2021 $ 28 456,886 366,613 (10,096) 813,431
Balance (in shares) at Dec. 31, 2020 26,776,796        
Balance at Dec. 31, 2020 $ 27 284,848 362,901 (3,420) 644,356
Net income         21,462
Other comprehensive loss          
Comprehensive income (loss)         11,424
Net income         21,462
Balance (in shares) at Dec. 31, 2020 26,776,796        
Balance at Dec. 31, 2020 $ 27 284,848 362,901 (3,420) 644,356
Balance (in shares) at Sep. 30, 2021 27,603,649        
Balance at Sep. 30, 2021 $ 28 464,900 373,151 (13,458) 824,621
Balance (in shares) at Mar. 31, 2021 27,689,746        
Balance at Mar. 31, 2021 $ 28 456,886 366,613 (10,096) 813,431
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 85,317        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 (81) 0 0 (81)
Stock-based compensation expense $ 0 4,941 0 0 4,941
Repurchases of common stock (in shares) (14,000)        
Net income $ 0 0 12,915 0 12,915
Other comprehensive loss          
Foreign currency translation adjustment 0 0 0 2,030 2,030
Net unrealized gains (losses) on investments in securities 0 0 0 (49) (49)
Comprehensive income (loss) 14,896
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 85,317        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 (81) 0 0 (81)
Stock-based compensation expense $ 0 4,941 0 0 4,941
Repurchases of common stock (in shares) (14,000)        
Repurchases of common stock $ 0 (149) (1,061) 0 (1,210)
Net income $ 0 0 12,915 0 12,915
Balance (in shares) at Mar. 31, 2021 27,689,746        
Balance at Mar. 31, 2021 $ 28 456,886 366,613 (10,096) 813,431
Balance (in shares) at Jun. 30, 2021 27,761,063        
Balance at Jun. 30, 2021 $ 28 461,597 378,467 (8,115) 831,977
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 0 0 0 0 0
Stock-based compensation expense $ 0 4,978 0 0 4,978
Repurchases of common stock (in shares) (157,414)        
Net income $ 0 0 4,835 0 4,835
Other comprehensive loss          
Foreign currency translation adjustment 0 0 0 (5,298) (5,298)
Net unrealized gains (losses) on investments in securities 0 0 0 (45) (45)
Comprehensive income (loss) (508)
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 0 0 0 0 0
Stock-based compensation expense $ 0 4,978 0 0 4,978
Repurchases of common stock (in shares) (157,414)        
Repurchases of common stock $ 0 (1,675) (10,151) 0 (11,826)
Net income $ 0 0 4,835 0 4,835
Balance (in shares) at Jun. 30, 2021 27,761,063        
Balance at Jun. 30, 2021 $ 28 461,597 378,467 (8,115) 831,977
Balance (in shares) at Sep. 30, 2021 27,603,649        
Balance at Sep. 30, 2021 $ 28 464,900 373,151 (13,458) $ 824,621
Balance (in shares) at Dec. 31, 2021 27,465,945       27,465,945
Balance at Dec. 31, 2021 $ 28 468,548 376,734 (16,817) $ 828,493
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 27,716        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations   (462)     (462)
Stock-based compensation expense   4,397     4,397
Repurchases of common stock (in shares) 0        
Net income     5,095   5,095
Other comprehensive loss          
Foreign currency translation adjustment       (4,972) (4,972)
Net unrealized gains (losses) on investments in securities       (516) (516)
Comprehensive income (loss) (393)
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 27,716        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations   (462)     (462)
Stock-based compensation expense   4,397     4,397
Repurchases of common stock (in shares) 0        
Net income     5,095   $ 5,095
Balance (in shares) at Dec. 31, 2021 27,465,945       27,465,945
Balance at Dec. 31, 2021 $ 28 468,548 376,734 (16,817) $ 828,493
Balance (in shares) at Mar. 31, 2022 27,493,661        
Balance at Mar. 31, 2022 $ 28 472,483 381,829 (22,305) $ 832,035
Balance (in shares) at Dec. 31, 2021 27,465,945       27,465,945
Balance at Dec. 31, 2021 $ 28 468,548 376,734 (16,817) $ 828,493
Net income         11,603
Other comprehensive loss          
Comprehensive income (loss)         (18,604)
Net income         $ 11,603
Balance (in shares) at Dec. 31, 2021 27,465,945       27,465,945
Balance at Dec. 31, 2021 $ 28 468,548 376,734 (16,817) $ 828,493
Balance (in shares) at Sep. 30, 2022 27,326,750       27,326,750
Balance at Sep. 30, 2022 $ 28 477,107 380,735 (47,024) $ 810,846
Balance (in shares) at Mar. 31, 2022 27,493,661        
Balance at Mar. 31, 2022 $ 28 472,483 381,829 (22,305) 832,035
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 122,705        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 1,158 0 0 1,158
Stock-based compensation expense $ 0 4,031 0 0 4,031
Repurchases of common stock (in shares) (113,266)        
Net income $ 0 0 2,557 0 2,557
Other comprehensive loss          
Foreign currency translation adjustment 0 0 0 (13,515) (13,515)
Net unrealized gains (losses) on investments in securities 0 0 0 (329) (329)
Comprehensive income (loss) (11,287)
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 122,705        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 1,158 0 0 1,158
Stock-based compensation expense $ 0 4,031 0 0 4,031
Repurchases of common stock (in shares) (113,266)        
Repurchases of common stock $ 0 (1,932) (3,307) 0 (5,239)
Net income $ 0 0 2,557 0 2,557
Balance (in shares) at Mar. 31, 2022 27,493,661        
Balance at Mar. 31, 2022 $ 28 472,483 381,829 (22,305) 832,035
Balance (in shares) at Jun. 30, 2022 27,503,100        
Balance at Jun. 30, 2022 $ 28 475,740 381,079 (36,149) 820,698
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 31,150        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 0 0 0 0
Stock-based compensation expense $ 0 4,907 0 0 4,907
Repurchases of common stock (in shares) (207,500)        
Net income $ 0 3,951 0 3,951
Other comprehensive loss          
Foreign currency translation adjustment 0 0 0 (10,287) (10,287)
Net unrealized gains (losses) on investments in securities 0 0 0 (588) (588)
Comprehensive income (loss) (6,924)
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 31,150        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 0 0 0 0
Stock-based compensation expense $ 0 4,907 0 0 4,907
Repurchases of common stock (in shares) (207,500)        
Repurchases of common stock $ 0 (3,540) (4,295) 0 (7,835)
Net income $ 0 3,951 0 3,951
Balance (in shares) at Jun. 30, 2022 27,503,100        
Balance at Jun. 30, 2022 $ 28 475,740 381,079 (36,149) $ 820,698
Balance (in shares) at Sep. 30, 2022 27,326,750       27,326,750
Balance at Sep. 30, 2022 $ 28 $ 477,107 $ 380,735 $ (47,024) $ 810,846
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Operating activities    
Net income $ 11,603 $ 21,462
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 29,981 30,231
Stock-based compensation expense 13,335 15,539
Deferred taxes (8,920) (139)
Fair value of contingent consideration 0 (8,513)
Impairments related to closure of Japan business 2,842 0
Gain on disposal of property and equipment (1,174) 0
Other 11 442
Changes in operating assets and liabilities:    
Accounts receivable (3,909) (25,615)
Inventories (1,613) 950
Prepaid expenses and other (920) 1,009
Income taxes 670 (1,226)
Accounts payable 1,292 1,978
Accrued liabilities and other 8,366 (3,893)
Net cash provided by operating activities 51,564 32,225
Investing activities    
Purchases of property, equipment and other capital assets (16,414) (27,956)
Proceeds from sales of property, equipment and other capital assets 3,227 0
Cash used for acquisitions, net of cash acquired 0 (127,413)
Purchases of marketable securities (45,872) (15,159)
Proceeds from sales of marketable securities 1,998 57,089
Proceeds from call redemptions and maturities of marketable securities 13,696 15,114
Net cash used in investing activities (43,365) (98,325)
Financing activities    
Proceeds from exercises of stock options 2,311 3,838
Purchases of shares withheld for tax obligations (1,615) (4,209)
Repurchases of common stock (13,074) (13,036)
Principal repayments of finance lease obligations (417) (413)
Net cash used in financing activities (12,795) (13,820)
Effect of exchange rate changes on cash and cash equivalents (1,972) 119
Net decrease in cash and cash equivalents (6,568) (79,801)
Cash and cash equivalents, beginning of period 65,929 127,603
Cash and cash equivalents, end of period $ 59,361 $ 47,802
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 1 - Basis of Presentation
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]

Notes to Consolidated Financial Statements

 

Note 1 – Basis of Presentation

 

The unaudited interim Consolidated Financial Statements of Proto Labs, Inc. (Protolabs, the Company, we, us or our) have been prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, the accompanying financial statements reflect all adjustments necessary for a fair presentation of the Company’s statements of financial position, results of operations and cash flows for the periods presented. Except as otherwise disclosed herein, these adjustments consist of normal, recurring items. Operating results for interim periods are not necessarily indicative of results that may be expected for the fiscal year as a whole.

 

The preparation of the financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses, and the related disclosures at the date of the financial statements and during the reporting period. Actual results could materially differ from these estimates. For further information, refer to the audited Consolidated Financial Statements and Notes thereto included in the Company’s Annual Report on Form 10-K for the year ended  December 31, 2021, as filed with the Securities and Exchange Commission (SEC) on February 18, 2022.

 

The accompanying Consolidated Balance Sheet as of December 31, 2021 was derived from the audited Consolidated Financial Statements but does not include all disclosures required by U.S. GAAP for a full set of financial statements. This Quarterly Report on Form 10-Q should be read in conjunction with the Company’s Consolidated Financial Statements and Notes included in the Company's Annual Report on Form 10-K filed on February 18, 2022 as referenced above.

 

On May 27, 2022, the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. Affected employees in Japan will receive severance and other transition assistance that meet or exceed local requirements. The Company expects to substantially complete the closure plan within the next year. The Company's decision to close the Japan business resulted in $1.2 million and $6.4 million in operating expenses during the three and nine months ended September 30, 2022, respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the three months ended September 30, 2022.  Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the nine months ended September 30, 2022. 

XML 17 R8.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 2 - Recent Accounting Pronouncements
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

Note 2 – Recent Accounting Pronouncements

 

The Company did not recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements.  There are no pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.

 

XML 18 R9.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 3 - Net Income Per Common Share
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Earnings Per Share [Text Block]

Note 3 – Net Income per Common Share

 

Basic net income per share is computed based on the weighted-average number of common shares outstanding. Diluted net income per share is computed based on the weighted-average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. Performance stock units are excluded from the calculation of dilutive potential common shares until the performance conditions have been satisfied. For the three months ended September 30, 2022 and 2021, 210,443 and 184,920 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding, respectively. For the nine months ended September 30, 2022 and 2021, 202,901 and 61,400 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding, respectively.

 

The table below sets forth the computation of basic and diluted net income per share:

 


 

  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 

(in thousands, except share and per share amounts)

 

2022

  

2021

  

2022

  

2021

 

Net income

 $3,951  $4,835  $11,603  $21,462 
                 

Basic - weighted-average shares outstanding:

  27,505,097   27,713,229   27,512,057   27,638,611 

Effect of dilutive securities:

                

Employee stock options and other

  3,120   16,876   10,677   69,173 

Diluted - weighted-average shares outstanding:

  27,508,217   27,730,105   27,522,734   27,707,784 

Net income per share:

                

Basic

 $0.14  $0.17  $0.42  $0.78 

Diluted

 $0.14  $0.17  $0.42  $0.77 

 


 

XML 19 R10.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 4 - Business Combinations
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Business Combination Disclosure [Text Block]

Note 4 – Business Combinations

 

On  January 22, 2021, the Company acquired all of the outstanding shares of 3D Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The purchase agreement included additional contingent consideration of up to $52.8 million subject to the achievement of performance-based targets during fiscal 2021 and fiscal 2022. The contingent consideration consisted of up to $25.0 million in cash and up to 143,983 shares of the Company's common stock valued at $27.8 million on the closing date. 

 

Hubs is based in Amsterdam, Netherlands and is a leading online manufacturing platform that provides customers with on-demand access to a global network of premium manufacturing partners. The acquisition enhances the Company’s value proposition by expanding the customer offerings, enabling the Company to more holistically serve its customers.

 

The fair value of the consideration paid for this acquisition has been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill.  The goodwill associated with the acquisition represents both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is not deductible for tax purposes. 

 

The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, Business Combinations. The final purchase price allocation was as follows:


 

(in thousands)

 Acquisition 

Assets acquired:

    

Current assets

 $2,497 

Intangible assets

  30,770 

Goodwill

  280,925 

Other long-term assets

  1,139 

Total assets acquired

  315,331 
     

Liabilities assumed:

    

Current contingent consideration

  7,093 

Current liabilities

  5,666 

Long-term contingent consideration

  6,507 

Long-term deferred tax liabilities

  1,688 

Other long-term liabilities

  255 

Total liabilities assumed

  21,209 

Net assets acquired

  294,122 
     

Cash paid

  133,847 

Cash acquired

  (6,434)

Net cash consideration

  127,413 

Equity portion of purchase price

  166,709 

Total purchase consideration

 $294,122 

 


 

XML 20 R11.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 5 - Goodwill and Other Intangible Assets
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Goodwill and Intangible Assets Disclosure [Text Block]

Note 5 – Goodwill and Other Intangible Assets

 

The changes in the carrying amount of goodwill during the nine months ended September 30, 2022 were as follows:

 


 

(in thousands)

 Nine Months Ended September 30, 2022 

Balance as of the beginning of the period

 $400,610 

Goodwill acquired during the period

  - 

Goodwill written off during the period

  (630)

Foreign currency translation adjustments

  (16,422)

Balance as of the end of the period

 $383,558 

 


 

Goodwill of $0.6 million was written off as of  September 30, 2022, as a result of the Company's decision to close the Japan manufacturing facility and exit the Japan market. The Japan business was in operations through the third quarter of 2022 and the assets are expected to be available for sale in the fourth quarter of 2022. The Euro denominated goodwill is translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income.

 

Intangible assets other than goodwill at  September 30, 2022 and December 31, 2021 were as follows:

 


 

  

September 30, 2022

  

December 31, 2021

  

Useful

  

Weighted Average

 

(in thousands)

 

Gross

  

Accumulated Amortization

  

Net

  

Gross

  

Accumulated Amortization

  

Net

  

Life (in years)

  

Useful Life Remaining (in years)

 

Intangible assets with finite lives:

                              

Marketing assets

  

$ 930

   

$ (783)

   

$ 147

   

$ 930

   

$ (713)

   

$ 217

  10.0  1.5 

Non-compete agreement

 807  (448) 359  842  (363) 479  2.0 - 5.0  2.3 

Software technology

 13,229  (6,041) 7,188  13,229  (5,014) 8,215  10.0  5.8 

Software platform

 25,071  (3,631) 21,440  26,725  (2,262) 24,463  12.0  10.3 

Tradenames

 337  (190) 147  359  (114) 245  3.0  1.3 

Customer relationships

 12,117  (9,491) 2,626  12,252  (7,873) 4,379  3.0 - 9.0  1.1 

Total intangible assets

 $52,491  $(20,584) $31,907  $54,337  $(16,339) $37,998       

 


 

Intangible assets have been allocated to the acquired Hubs entities consisting of intangible assets of €11.6 million in Europe and $16.6 million in the United States as of the date of the acquisition. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. Foreign currency losses related to intangible assets were $2.8 million and $0.9 million as of September 30, 2022 and December 31, 2021, respectively. Amortization expense for intangible assets was $1.5 million and $1.6 million for the three months ended  September 30, 2022 and 2021, respectively, and $4.6 million in each of the nine months ended September 30, 2022 and 2021.

 

Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets and current exchange rates is as follows:

 


 

(in thousands)

 

Estimated Amortization Expense

 

Remaining 2022

 $1,491 

2023

  5,774 

2024

  3,647 

2025

  3,551 

2026

  3,453 

Thereafter

  13,991 

Total estimated amortization expense

 $31,907 

 


 

XML 21 R12.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 6 - Assets Held for Sale
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Disclosure of Assets Held-for-sale [Text Block]

 Note 6 Assets Held for Sale

 

Assets are classified as held for sale and presented separately on the Consolidated Balance Sheet when all of the following criteria for a plan of sale have been met: (1) management, having the authority to approve the action, commits to a plan to sell the assets; (2) the assets are available for immediate sale, in their present condition, subject only to terms that are usual and customary for sales of such assets; (3) an active program to locate a buyer and other actions required to complete the plan to sell the assets have been initiated; (4) the sale of the assets is probable and is expected to be completed within one year; (5) the assets are being actively marketed for a price that is reasonable in relation to their current fair value; and (6) actions required to complete the plan indicate that it is unlikely that significant changes to the plan will be made or the plan will be withdrawn. The assets are then recorded at the lower of their current carrying value or the fair market value, less costs to sell.

 

During the first quarter of 2022, a facility the Company owns in Maple Plain, Minnesota, encompassing approximately 35,000 square feet of manufacturing and office space, met the criteria to be held for sale. The assets held for sale were $2.0 million as of June 30, 2022 and were presented on the Company's Consolidated Balance Sheet as Long-term assets held for sale. The Company closed on the sale of the facility in the third quarter of 2022 for a net purchase price of $3.2 million, which resulted in a gain of $1.2 million recorded in general and administrative expense on the Company's Consolidated Statements of Operations.

 

XML 22 R13.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 7 - Fair Value Measurements
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

Note 7 – Fair Value Measurements

 

Accounting Standards Codification, Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy that requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:

 

Level 1—Quoted prices in active markets for identical assets or liabilities.

 

Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.

 

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

 

The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits and cash equivalents consist primarily of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

The following table summarizes financial assets as of  September 30, 2022 and December 31, 2021 measured at fair value on a recurring basis: 

 


 

  

September 30, 2022

  

December 31, 2021

 

(in thousands)

 

Level 1

  

Level 2

  

Level 3

  

Level 1

  

Level 2

  

Level 3

 

Financial Assets:

                        

Cash

 $36,813  $-  $-  $65,637  $-  $- 

Money market mutual fund

  22,548   -   -   292   -   - 

Marketable securities

  17,096   37,414   -   7,602   18,318   - 

Total

 $76,457  $37,414  $-  $73,531  $18,318  $- 

 

XML 23 R14.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 8 - Marketable Securities
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Investment [Text Block]

Note 8 – Marketable Securities

 

The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as available-for-sale and are recorded at fair value. The following table summarizes information regarding the Company’s short-term and long-term marketable securities as of  September 30, 2022 and December 31, 2021:

 


 

  

September 30, 2022

 

(in thousands)

 

Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 

U.S. municipal securities

 $17,991  $-  $(494) $17,497 

Corporate debt securities

  9,602   -   (259)  9,343 

U.S. government agency securities

  25,780   -   (787)  24,993 

Certificates of deposit/time deposits

  1,189   -   (11)  1,178 

Commercial paper

  1,500   -   (1)  1,499 

Total marketable securities

 $56,062  $-  $(1,552) $54,510 

 


 


 

  

December 31, 2021

 

(in thousands)

 

Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 

U.S. municipal securities

 $12,549  $-  $(70) $12,479 

Corporate debt securities

  9,303   -   (44)  9,259 

U.S. government agency securities

  2,500   -   (12)  2,488 

Certificates of deposit/time deposits

  1,687   7   -   1,694 

Commercial paper

  -   -   -   - 

Total marketable securities

 $26,039  $7  $(126) $25,920 

 


 

Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.

 

The  September 30, 2022 balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.

 


 

  

September 30,

 

(in thousands)

 2022 

Due in one year or less

 $25,253 

Due after one year through five years

  29,257 

Total marketable securities

 $54,510 

 


XML 24 R15.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 9 - Inventory
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Inventory Disclosure [Text Block]

Note 9 – Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

The Company’s inventory consisted of the following as of the dates indicated:

 


 

  

September 30,

  

December 31,

 

(in thousands)

 2022  2021 

Total inventory

 $14,953  $13,474 

Allowance for obsolescence

  (336)  (313)

Inventory, net of allowance

 $14,617  $13,161 

 


 

XML 25 R16.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Share-Based Payment Arrangement [Text Block]

Note 10 – Stock-Based Compensation

 

Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company had the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards through February 23, 2022. On July 8, 2022, the board of directors approved the Proto Labs, Inc. 2022 Long-Term Incentive Plan (the 2022 Plan), which was approved by the Company's shareholders at a Special Meeting of Shareholders on August 29, 2022. No awards were granted from February 23, 2022 to August 29, 2022. Awards outstanding under the 2012 Plan as of August 29, 2022 will continue to be subject to the terms of the 2012 Plan, but if those awards subsequently expire, are forfeited or cancelled or are settled in cash, the shares subject to those awards will become available for awards under the 2022 Plan. Under the 2022 Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2022 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and SARs granted under the 2022 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.

 

Employee Stock Purchase Plan

 

The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock each offering period at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period ending May 15 and November 15, respectively. At the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period.

 

Stock-Based Compensation Expense

 

Stock-based compensation expense was $4.9 million and $5.0 million for the three months ended  September 30, 2022 and 2021, respectively, and $13.3 and $15.5 million for the nine months ended September 30, 2022 and 2021, respectively.

 

Stock Options

 

The following table summarizes stock option activity during the nine months ended September 30, 2022:

 


 

      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 

Options outstanding at December 31, 2021

  233,384  $97.78 

Granted

  118,434   48.24 

Exercised

  (3,114)  30.58 

Forfeited

  (38,618)  91.27 

Expired

  (34,201)  89.71 

Options outstanding at September 30, 2022

  275,885  $79.19 
         

Exercisable at September 30, 2022

  108,659  $91.50 

 


 

The outstanding options generally have a term of ten years. For employees, options granted become exercisable ratably over the vesting period, which is generally a period of four years, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For the board of directors, options generally become exercisable in full on the first anniversary of the grant date.

 

The weighted-average grant date fair value of options that were granted during the nine months ended September 30, 2022 was $23.11.

 

The following table provides the assumptions used in the Black-Scholes pricing model valuation of options during the nine months ended September 30, 2022 and 2021:

 


 

  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

1.94% - 3.40%

   

0.80% - 1.12%

 

Expected life (years)

  6.25   6.25 

Expected volatility

  

45.95% - 46.03%

   

45.28 - 45.35%

 

Expected dividend yield

  

0%

   

0%

 

 


 

As of September 30, 2022, there was $4.5 million of unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.8 years.

 

Restricted Stock

 

Restricted stock awards are share-settled awards and restrictions lapse ratably over the vesting period, which is generally a period from three to four years, beginning on the first anniversary of the grant date, subject to the employee's continuing service to the Company. For the board of directors, restrictions generally lapse in full on the first anniversary of the grant date. 

 

The following table summarizes restricted stock activity during the nine months ended September 30, 2022:

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock

  

Per Share

 

Restricted stock at December 31, 2021

  343,782  $111.79 

Granted

  312,270   42.05 

Restrictions lapsed

  (120,606)  104.99 

Forfeited

  (39,480)  106.64 

Restricted stock at September 30, 2022

  495,966  $69.95 

 


 

As of September 30, 2022, there was $24.7 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.6 years. 

 

Performance Stock

 

Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 200 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from 2017 to 2019 and certain PSUs granted in 2021 are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in 2020 and 2022 and certain PSUs granted in 2021 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.

 

The following table summarizes performance stock activity during the nine months ended September 30, 2022:

 


 

      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock

  

Per Share

 

Performance stock at December 31, 2021

  16,839  $115.56 

Granted

  35,697   96.71 

Restrictions lapsed

  -   - 

Performance change

  -   - 

Forfeited

  (3,578)  121.79 

Performance stock at September 30, 2022

  48,958  $109.80 

 


 

The following table provides the assumptions used in the Monte Carlo pricing model valuation of PSUs during the nine months ended September 30, 2022 and 2021

 


 

  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

1.76% - 3.40%

   

0.22%

 

Expected life (years)

  2.34 - 2.87   2.87 

Expected volatility

  

53.5% - 53.6%

   

51.40%

 

Expected dividend yield

  

0%

   

0%

 

 


 

As of September 30, 2022, there was $2.8 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 2.2 years. 

 

Employee Stock Purchase Plan

 

The following table presents the assumptions used to estimate the fair value of the ESPP during the nine months ended September 30, 2022 and 2021

 


 

  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

0.17 - 2.06%

   

0.06 - 0.12%

 

Expected life (months)

  6.00   6.00 

Expected volatility

  

47.05 - 53.44%

   

50.85 - 65.53%

 

Expected dividend yield

  

0%

   

0%

 

 


 

XML 26 R17.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 11 - Accumulated Other Comprehensive Income (Loss)
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Disclosure of Reclassification Amount [Text Block]

 Note 11 – Accumulated Other Comprehensive Income (Loss)

 

Other comprehensive income (loss) is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. The following table presents the changes in accumulated other comprehensive income (loss) balances during the three and nine months ended September 30, 2022 and 2021:

 


 

  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 
                 

Balance at beginning of period

 $(36,149) $(8,115) $(16,817) $(3,420)

Foreign currency translation adjustments

                

Other comprehensive income (loss) before reclassifications

  (10,287)  (5,298)  (28,774)  (10,110)

Amounts reclassified from accumulated other comprehensive loss

  -   -   -   - 

Net current-period other comprehensive income (loss)

  (10,287)  (5,298)  (28,774)  (10,110)

Net unrealized gains (losses) on investments in securities

                

Other comprehensive income (loss) before reclassifications

  (588)  (45)  (1,433)  72 

Amounts reclassified from accumulated other comprehensive loss

  -   -   -   - 

Net current-period other comprehensive income (loss)

  (588)  (45)  (1,433)  72 

Balance at end of period

 $(47,024) $(13,458) $(47,024) $(13,458)

 


XML 27 R18.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 12 - Income Taxes
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

Note 12 – Income Taxes

 

The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the three months ended  September 30, 2022 and 2021, the Company recorded an income tax provision of $2.1 million and $2.2 million, respectively. For the nine months ended September 30, 2022 and 2021, the Company recorded an income tax provision of $7.2 million and $5.8 million, respectively. The income tax provision is based on the estimated annual effective tax rate for the year applied to pre-tax income. The effective income tax rate for the three months ended  September 30, 2022 was 34.5 percent compared to 31.5 percent in the same period of the prior year. The effective tax rate increased by 3.0 percent for the three months ended  September 30, 2022 when compared to the same period in 2021, primarily due to an increase in losses in jurisdictions, mainly Japan, that are not eligible for tax benefits due to valuation allowances. The effective income tax rate for the nine months ended  September 30, 2022 was 38.4 percent compared to 21.2 percent in the same period of the prior year. The effective tax rate increased by 17.2 percent for the nine months ended  September 30, 2022 when compared to the same period in 2021, primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options, as well as an increase in losses in jurisdictions, mainly Japan, that are not eligible for tax benefits due to valuation allowances. 

 

The effective income tax rate for the nine months ended September 30, 2022 differs from the U.S. federal statutory rate of 21.0 percent due to various factors, including operating in multiple state and foreign jurisdictions and tax credits for which the Company qualifies.

 

The Company had unrecognized tax benefits totaling $4.5 million as of September 30, 2022 and $4.4 million as of  December 31, 2021, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. 

 

XML 28 R19.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting
9 Months Ended
Sep. 30, 2022
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

Note 13 – Segment Reporting

 

The Company’s reportable segments are based on the internal reporting used by the Company’s Chief Executive Officer, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs, that the Company does not allocate directly to its operating segments.

 

Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments. 

 

Revenue and income from operations by reportable segment for the three and nine months ended September 30, 2022 and 2021 were as follows:

 


 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Revenue:

                

United States

 $98,970  $100,127  $295,121  $286,524 

Europe

  21,464   22,155   69,441   68,259 

Japan

  1,287   3,060   8,229   9,733 

Total revenue

 $121,721  $125,342  $372,791  $364,516 

 


 


 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Income (Loss) from Operations:

                

United States

 $25,293  $23,475  $73,984  $72,258 

Europe

  (3,581)  (2,223)  (7,509)  1,469 

Corporate Unallocated and Japan

  (15,654)  (14,325)  (47,326)  (46,435)

Total Income from Operations

 $6,058  $6,927  $19,149  $27,292 

 


 

Total long-lived assets at  September 30, 2022 and December 31, 2021 were as follows:

 


 

  

September 30,

  

December 31,

 

(in thousands)

 2022  2021 

Total long-lived assets:

        

United States

 $206,965  $215,701 

Europe

  51,636   59,388 

Japan

  1,255   5,257 

Total Long-lived Assets

 $259,856  $280,346 

 


 

The Company's decision to close the Japan business resulted in operating expenses of $1.2 million and $6.4 million during the three and nine months ended September 30, 2022, respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the three months ended September 30, 2022. Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the nine months ended September 30, 2022. 

 

Revenue by product line for the three and nine months ended September 30, 2022 and 2021 were as follows:

 


 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Revenue:

                

Injection Molding

 $48,940  $57,685  $155,693  $172,212 

CNC Machining

  47,489   43,658   141,809   121,953 

3D Printing

  19,823   18,589   59,458   53,994 

Sheet Metal

  5,219   4,854   15,066   14,790 

Other Revenue

  250   556   765   1,567 

Total revenue

 $121,721  $125,342  $372,791  $364,516 

 


 

XML 29 R20.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 3 - Net Income Per Common Share (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 

(in thousands, except share and per share amounts)

 

2022

  

2021

  

2022

  

2021

 

Net income

 $3,951  $4,835  $11,603  $21,462 
                 

Basic - weighted-average shares outstanding:

  27,505,097   27,713,229   27,512,057   27,638,611 

Effect of dilutive securities:

                

Employee stock options and other

  3,120   16,876   10,677   69,173 

Diluted - weighted-average shares outstanding:

  27,508,217   27,730,105   27,522,734   27,707,784 

Net income per share:

                

Basic

 $0.14  $0.17  $0.42  $0.78 

Diluted

 $0.14  $0.17  $0.42  $0.77 
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 4 - Business Combinations (Tables)
9 Months Ended
Sep. 30, 2022
Acquired 3D Hubs [Member]  
Notes Tables  
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]

(in thousands)

 Acquisition 

Assets acquired:

    

Current assets

 $2,497 

Intangible assets

  30,770 

Goodwill

  280,925 

Other long-term assets

  1,139 

Total assets acquired

  315,331 
     

Liabilities assumed:

    

Current contingent consideration

  7,093 

Current liabilities

  5,666 

Long-term contingent consideration

  6,507 

Long-term deferred tax liabilities

  1,688 

Other long-term liabilities

  255 

Total liabilities assumed

  21,209 

Net assets acquired

  294,122 
     

Cash paid

  133,847 

Cash acquired

  (6,434)

Net cash consideration

  127,413 

Equity portion of purchase price

  166,709 

Total purchase consideration

 $294,122 
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 5 - Goodwill and Other Intangible Assets (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Schedule of Goodwill [Table Text Block]

(in thousands)

 Nine Months Ended September 30, 2022 

Balance as of the beginning of the period

 $400,610 

Goodwill acquired during the period

  - 

Goodwill written off during the period

  (630)

Foreign currency translation adjustments

  (16,422)

Balance as of the end of the period

 $383,558 
Schedule of Finite-Lived Intangible Assets [Table Text Block]
  

September 30, 2022

  

December 31, 2021

  

Useful

  

Weighted Average

 

(in thousands)

 

Gross

  

Accumulated Amortization

  

Net

  

Gross

  

Accumulated Amortization

  

Net

  

Life (in years)

  

Useful Life Remaining (in years)

 

Intangible assets with finite lives:

                              

Marketing assets

  

$ 930

   

$ (783)

   

$ 147

   

$ 930

   

$ (713)

   

$ 217

  10.0  1.5 

Non-compete agreement

 807  (448) 359  842  (363) 479  2.0 - 5.0  2.3 

Software technology

 13,229  (6,041) 7,188  13,229  (5,014) 8,215  10.0  5.8 

Software platform

 25,071  (3,631) 21,440  26,725  (2,262) 24,463  12.0  10.3 

Tradenames

 337  (190) 147  359  (114) 245  3.0  1.3 

Customer relationships

 12,117  (9,491) 2,626  12,252  (7,873) 4,379  3.0 - 9.0  1.1 

Total intangible assets

 $52,491  $(20,584) $31,907  $54,337  $(16,339) $37,998       
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

(in thousands)

 

Estimated Amortization Expense

 

Remaining 2022

 $1,491 

2023

  5,774 

2024

  3,647 

2025

  3,551 

2026

  3,453 

Thereafter

  13,991 

Total estimated amortization expense

 $31,907 
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 7 - Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Fair Value, Assets Measured on Recurring Basis [Table Text Block]
  

September 30, 2022

  

December 31, 2021

 

(in thousands)

 

Level 1

  

Level 2

  

Level 3

  

Level 1

  

Level 2

  

Level 3

 

Financial Assets:

                        

Cash

 $36,813  $-  $-  $65,637  $-  $- 

Money market mutual fund

  22,548   -   -   292   -   - 

Marketable securities

  17,096   37,414   -   7,602   18,318   - 

Total

 $76,457  $37,414  $-  $73,531  $18,318  $- 
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 8 - Marketable Securities (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Debt Securities, Available-for-Sale [Table Text Block]
  

September 30, 2022

 

(in thousands)

 

Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 

U.S. municipal securities

 $17,991  $-  $(494) $17,497 

Corporate debt securities

  9,602   -   (259)  9,343 

U.S. government agency securities

  25,780   -   (787)  24,993 

Certificates of deposit/time deposits

  1,189   -   (11)  1,178 

Commercial paper

  1,500   -   (1)  1,499 

Total marketable securities

 $56,062  $-  $(1,552) $54,510 
Debt Securities, Held-to-Maturity [Table Text Block]
  

December 31, 2021

 

(in thousands)

 

Cost

  

Unrealized Gains

  

Unrealized Losses

  

Fair Value

 

U.S. municipal securities

 $12,549  $-  $(70) $12,479 

Corporate debt securities

  9,303   -   (44)  9,259 

U.S. government agency securities

  2,500   -   (12)  2,488 

Certificates of deposit/time deposits

  1,687   7   -   1,694 

Commercial paper

  -   -   -   - 

Total marketable securities

 $26,039  $7  $(126) $25,920 
Investments Classified by Contractual Maturity Date [Table Text Block]
  

September 30,

 

(in thousands)

 2022 

Due in one year or less

 $25,253 

Due after one year through five years

  29,257 

Total marketable securities

 $54,510 
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 9 - Inventory (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Schedule of Inventory, Current [Table Text Block]
  

September 30,

  

December 31,

 

(in thousands)

 2022  2021 

Total inventory

 $14,953  $13,474 

Allowance for obsolescence

  (336)  (313)

Inventory, net of allowance

 $14,617  $13,161 
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 

Options outstanding at December 31, 2021

  233,384  $97.78 

Granted

  118,434   48.24 

Exercised

  (3,114)  30.58 

Forfeited

  (38,618)  91.27 

Expired

  (34,201)  89.71 

Options outstanding at September 30, 2022

  275,885  $79.19 
         

Exercisable at September 30, 2022

  108,659  $91.50 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

1.94% - 3.40%

   

0.80% - 1.12%

 

Expected life (years)

  6.25   6.25 

Expected volatility

  

45.95% - 46.03%

   

45.28 - 45.35%

 

Expected dividend yield

  

0%

   

0%

 
Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock

  

Per Share

 

Restricted stock at December 31, 2021

  343,782  $111.79 

Granted

  312,270   42.05 

Restrictions lapsed

  (120,606)  104.99 

Forfeited

  (39,480)  106.64 

Restricted stock at September 30, 2022

  495,966  $69.95 
Schedule of Nonvested Performance-Based Units Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Performance

  

Fair Value

 
  

Stock

  

Per Share

 

Performance stock at December 31, 2021

  16,839  $115.56 

Granted

  35,697   96.71 

Restrictions lapsed

  -   - 

Performance change

  -   - 

Forfeited

  (3,578)  121.79 

Performance stock at September 30, 2022

  48,958  $109.80 
Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]
  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

1.76% - 3.40%

   

0.22%

 

Expected life (years)

  2.34 - 2.87   2.87 

Expected volatility

  

53.5% - 53.6%

   

51.40%

 

Expected dividend yield

  

0%

   

0%

 
Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]
  

Nine Months Ended September 30,

 
  

2022

  

2021

 

Risk-free interest rate

  

0.17 - 2.06%

   

0.06 - 0.12%

 

Expected life (months)

  6.00   6.00 

Expected volatility

  

47.05 - 53.44%

   

50.85 - 65.53%

 

Expected dividend yield

  

0%

   

0%

 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 11 - Accumulated Other Comprehensive Income (Loss) (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Comprehensive Income (Loss) [Table Text Block]
  

Three Months Ended

  

Nine Months Ended

 
  

September 30,

  

September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 
                 

Balance at beginning of period

 $(36,149) $(8,115) $(16,817) $(3,420)

Foreign currency translation adjustments

                

Other comprehensive income (loss) before reclassifications

  (10,287)  (5,298)  (28,774)  (10,110)

Amounts reclassified from accumulated other comprehensive loss

  -   -   -   - 

Net current-period other comprehensive income (loss)

  (10,287)  (5,298)  (28,774)  (10,110)

Net unrealized gains (losses) on investments in securities

                

Other comprehensive income (loss) before reclassifications

  (588)  (45)  (1,433)  72 

Amounts reclassified from accumulated other comprehensive loss

  -   -   -   - 

Net current-period other comprehensive income (loss)

  (588)  (45)  (1,433)  72 

Balance at end of period

 $(47,024) $(13,458) $(47,024) $(13,458)
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting (Tables)
9 Months Ended
Sep. 30, 2022
Notes Tables  
Income from Operations by Geographic Area [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Income (Loss) from Operations:

                

United States

 $25,293  $23,475  $73,984  $72,258 

Europe

  (3,581)  (2,223)  (7,509)  1,469 

Corporate Unallocated and Japan

  (15,654)  (14,325)  (47,326)  (46,435)

Total Income from Operations

 $6,058  $6,927  $19,149  $27,292 
Long-Lived Assets by Geographic Areas [Table Text Block]
  

September 30,

  

December 31,

 

(in thousands)

 2022  2021 

Total long-lived assets:

        

United States

 $206,965  $215,701 

Europe

  51,636   59,388 

Japan

  1,255   5,257 

Total Long-lived Assets

 $259,856  $280,346 
Disaggregation of Revenue [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Revenue:

                

Injection Molding

 $48,940  $57,685  $155,693  $172,212 

CNC Machining

  47,489   43,658   141,809   121,953 

3D Printing

  19,823   18,589   59,458   53,994 

Sheet Metal

  5,219   4,854   15,066   14,790 

Other Revenue

  250   556   765   1,567 

Total revenue

 $121,721  $125,342  $372,791  $364,516 
Operating Segments [Member]  
Notes Tables  
Revenue from External Customers by Geographic Areas [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

(in thousands)

 

2022

  

2021

  

2022

  

2021

 

Revenue:

                

United States

 $98,970  $100,127  $295,121  $286,524 

Europe

  21,464   22,155   69,441   68,259 

Japan

  1,287   3,060   8,229   9,733 

Total revenue

 $121,721  $125,342  $372,791  $364,516 
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 1 - Basis of Presentation (Details Textual) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Disposal Group, Operating Expense $ 1,194 $ 0 $ 6,388 $ 0
Goodwill, Written Off     630  
Disposal Group, Disposed of by Means Other than Sale, Not Discontinued Operations [Member] | Manufacturing Facility in Japan [Member]        
Disposal Group, Operating Expense 1,200   6,400  
Disposal Group, Employee Severance, Operating Expense 100   2,300  
Disposal Group, Write-down of Fixed Assets, Operating Expense $ 1,100   2,300  
Disposal Group, Facility-related Charges, Operating Expense     900  
Goodwill, Written Off     600  
Disposal Group, Other Closure Related Charges, Operating Expense     $ 300  
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 3 - Net Income Per Common Share (Details Textual) - shares
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) 210,443 184,920 202,901 61,400
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Sep. 30, 2022
Sep. 30, 2021
Net income $ 3,951 $ 2,557 $ 5,095 $ 4,835 $ 12,915 $ 3,712 $ 11,603 $ 21,462
Basic - weighted-average shares outstanding: (in shares) 27,505,097     27,713,229     27,512,057 27,638,611
Employee stock options and other (in shares) 3,120     16,876     10,677 69,173
Diluted - weighted-average shares outstanding: (in shares) 27,508,217     27,730,105     27,522,734 27,707,784
Basic (in dollars per share) $ 0.14     $ 0.17     $ 0.42 $ 0.78
Diluted (in dollars per share) $ 0.14     $ 0.17     $ 0.42 $ 0.77
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 4 - Business Combinations (Details Textual) - USD ($)
$ in Thousands
9 Months Ended 11 Months Ended
Jan. 22, 2021
Sep. 30, 2022
Sep. 30, 2021
Dec. 31, 2021
Payments to Acquire Businesses, Net of Cash Acquired, Total   $ (0) $ 127,413  
Acquired 3D Hubs [Member]        
Business Combination, Consideration Transferred, Total $ 294,122      
Payments to Acquire Businesses, Net of Cash Acquired, Total $ 127,413      
Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) 863,995      
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable $ 166,709      
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High 52,800      
Payments to Acquire Businesses, Gross $ 133,847      
Acquired 3D Hubs [Member] | Cash [Member]        
Payments to Acquire Businesses, Gross       $ 25,000
Acquired 3D Hubs [Member] | Common Stock [Member] | Maximum [Member]        
Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) 143,983      
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High $ 27,800      
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) - USD ($)
$ in Thousands
9 Months Ended
Jan. 22, 2021
Sep. 30, 2022
Sep. 30, 2021
Dec. 31, 2021
Assets acquired:        
Goodwill   $ 383,558   $ 400,610
Liabilities assumed:        
Net cash consideration   $ (0) $ 127,413  
Acquired 3D Hubs [Member]        
Assets acquired:        
Current assets $ 2,497      
Intangible assets 30,770      
Goodwill 280,925      
Other long-term assets 1,139      
Total assets acquired 315,331      
Liabilities assumed:        
Current contingent consideration 7,093      
Current liabilities 5,666      
Long-term contingent consideration 6,507      
Long-term deferred tax liabilities 1,688      
Other long-term liabilities 255      
Total liabilities assumed 21,209      
Net assets acquired 294,122      
Payments to Acquire Businesses, Gross 133,847      
Cash acquired (6,434)      
Net cash consideration 127,413      
Business Combination, Consideration Transferred, Equity Interests Issued and Issuable 166,709      
Total purchase consideration $ 294,122      
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 5 - Goodwill and Other Intangible Assets (Details Textual)
$ in Thousands, € in Millions
3 Months Ended 9 Months Ended 12 Months Ended
Jan. 22, 2021
USD ($)
Jan. 22, 2021
EUR (€)
Sep. 30, 2022
USD ($)
Sep. 30, 2021
USD ($)
Sep. 30, 2022
USD ($)
Sep. 30, 2021
USD ($)
Dec. 31, 2021
USD ($)
Goodwill, Written Off         $ 630    
Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Total         2,800   $ 900
Amortization of Intangible Assets     $ 1,500 $ 1,600 4,600 $ 4,600  
Acquired 3D Hubs [Member] | UNITED STATES              
Finite-Lived Intangible Assets Acquired $ 16,600 € 11.6          
Disposal Group, Disposed of by Means Other than Sale, Not Discontinued Operations [Member] | Manufacturing Facility in Japan [Member]              
Goodwill, Written Off         $ 600    
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2022
USD ($)
Goodwill $ 400,610
Goodwill acquired during the period 0
Goodwill written off during the period (630)
Foreign currency translation adjustments (16,422)
Goodwill $ 383,558
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2022
Dec. 31, 2021
Gross $ 52,491 $ 54,337
Accumulated Amortization (20,584) (16,339)
Net 31,907 37,998
Marketing-Related Intangible Assets [Member]    
Gross 930 930
Accumulated Amortization (783) (713)
Net $ 147 217
Useful Life (Year) 10 years  
Weighted average useful life remaining (Year) 1 year 6 months  
Noncompete Agreements [Member]    
Gross $ 807 842
Accumulated Amortization (448) (363)
Net $ 359 479
Weighted average useful life remaining (Year) 2 years 3 months 18 days  
Noncompete Agreements [Member] | Minimum [Member]    
Useful Life (Year) 2 years  
Noncompete Agreements [Member] | Maximum [Member]    
Useful Life (Year) 5 years  
Computer Software, Intangible Asset [Member]    
Gross $ 13,229 13,229
Accumulated Amortization (6,041) (5,014)
Net $ 7,188 8,215
Useful Life (Year) 10 years  
Weighted average useful life remaining (Year) 5 years 9 months 18 days  
Software Platform [Member]    
Gross $ 25,071 26,725
Accumulated Amortization (3,631) (2,262)
Net $ 21,440 24,463
Useful Life (Year) 12 years  
Weighted average useful life remaining (Year) 10 years 3 months 18 days  
Trade Names [Member]    
Gross $ 337 359
Accumulated Amortization (190) (114)
Net $ 147 245
Useful Life (Year) 3 years  
Weighted average useful life remaining (Year) 1 year 3 months 18 days  
Customer Relationships [Member]    
Gross $ 12,117 12,252
Accumulated Amortization (9,491) (7,873)
Net $ 2,626 $ 4,379
Weighted average useful life remaining (Year) 1 year 1 month 6 days  
Customer Relationships [Member] | Minimum [Member]    
Useful Life (Year) 3 years  
Customer Relationships [Member] | Maximum [Member]    
Useful Life (Year) 9 years  
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) - USD ($)
$ in Thousands
Sep. 30, 2022
Dec. 31, 2021
Remaining 2022 $ 1,491  
2023 5,774  
2024 3,647  
2025 3,551  
2026 3,453  
Thereafter 13,991  
Total estimated amortization expense $ 31,907 $ 37,998
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 6 - Assets Held for Sale (Details Textual)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
USD ($)
Sep. 30, 2022
USD ($)
Sep. 30, 2021
USD ($)
Jun. 30, 2022
USD ($)
ft²
Gain (Loss) on Disposition of Property Plant Equipment, Total   $ 1,174 $ (0)  
Facility in Maple Plain, Minnesota [Member]        
Area of Real Estate Property (Square Foot) | ft²       35,000
Assets Held-for-sale, Not Part of Disposal Group, Total       $ 2,000
Proceeds from Sale of Property, Plant, and Equipment, Total $ 3,200      
Facility in Maple Plain, Minnesota [Member] | General and Administrative Expense [Member]        
Gain (Loss) on Disposition of Property Plant Equipment, Total $ 1,200      
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) - USD ($)
$ in Thousands
Sep. 30, 2022
Dec. 31, 2021
Marketable securities $ 54,510  
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Marketable securities 17,096 $ 7,602
Total 76,457 73,531
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Cash [Member]    
Cash 36,813 65,637
Cash and cash equivalents 36,813 65,637
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member] | Money Market Funds [Member]    
Cash 22,548 292
Cash and cash equivalents 22,548 292
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Marketable securities 37,414 18,318
Total 37,414 18,318
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Cash [Member]    
Cash 0 0
Cash and cash equivalents 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Money Market Funds [Member]    
Cash 0 0
Cash and cash equivalents 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Marketable securities 0 0
Total 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Cash [Member]    
Cash 0 0
Cash and cash equivalents 0 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Money Market Funds [Member]    
Cash 0 0
Cash and cash equivalents $ 0 $ 0
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)
$ in Thousands
Sep. 30, 2022
USD ($)
Amortized Cost $ 56,062
Unrealized Gains 0
Unrealized Losses (1,552)
Fair Value 54,510
US States and Political Subdivisions Debt Securities [Member]  
Amortized Cost 17,991
Unrealized Gains 0
Unrealized Losses (494)
Fair Value 17,497
Corporate Debt Securities [Member]  
Amortized Cost 9,602
Unrealized Gains 0
Unrealized Losses (259)
Fair Value 9,343
US Government Agencies Debt Securities [Member]  
Amortized Cost 25,780
Unrealized Gains 0
Unrealized Losses (787)
Fair Value 24,993
Bank Time Deposits [Member]  
Amortized Cost 1,189
Unrealized Gains 0
Unrealized Losses (11)
Fair Value 1,178
Commercial Paper, Not Included with Cash and Cash Equivalents [Member]  
Amortized Cost 1,500
Unrealized Gains 0
Unrealized Losses (1)
Fair Value $ 1,499
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)
$ in Thousands
Dec. 31, 2021
USD ($)
Amortized Cost $ 26,039
Unrealized Gains 7
Unrealized Losses (126)
Fair Value 25,920
US States and Political Subdivisions Debt Securities [Member]  
Amortized Cost 12,549
Unrealized Gains 0
Unrealized Losses (70)
Fair Value 12,479
Corporate Debt Securities [Member]  
Amortized Cost 9,303
Unrealized Gains 0
Unrealized Losses (44)
Fair Value 9,259
US Government Agencies Debt Securities [Member]  
Amortized Cost 2,500
Unrealized Gains 0
Unrealized Losses (12)
Fair Value 2,488
Bank Time Deposits [Member]  
Amortized Cost 1,687
Unrealized Gains 7
Unrealized Losses 0
Fair Value 1,694
Commercial Paper, Not Included with Cash and Cash Equivalents [Member]  
Amortized Cost 0
Unrealized Gains 0
Unrealized Losses 0
Fair Value $ 0
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)
$ in Thousands
Sep. 30, 2022
USD ($)
Due in one year or less $ 25,253
Due after one year through five years 29,257
Total marketable securities $ 54,510
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 9 - Inventory - Inventory (Details) - USD ($)
$ in Thousands
Sep. 30, 2022
Dec. 31, 2021
Total inventory $ 14,953 $ 13,474
Allowance for obsolescence (336) (313)
Inventory, net of allowance $ 14,617 $ 13,161
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation (Details Textual) - USD ($)
$ / shares in Units, $ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 20, 2022
Sep. 30, 2021
Share-Based Payment Arrangement, Expense $ 4.9 $ 5.0 $ 13.3   $ 15.5
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)     $ 23.11    
ESPP [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date     15.00%    
Employee Stock Purchase Plan, Offering Period (Month)     6 months    
Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent     85.00%    
Share-Based Payment Arrangement, Option [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)     10 years    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)     4 years    
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total 4.5   $ 4.5    
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)       2 years 9 months 18 days  
Restricted Stock [Member]          
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total 24.7   $ 24.7    
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)     2 years 7 months 6 days    
Restricted Stock [Member] | Minimum [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)     3 years    
Restricted Stock [Member] | Maximum [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)     4 years    
Performance Shares [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)     3 years    
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 2.8   $ 2.8    
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)     2 years 2 months 12 days    
Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit 0.00%   0.00%    
Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit 200.00%   200.00%    
Long-Term Incentive Plan 2012 [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)     10 years    
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation - Stock Option Activity (Details)
9 Months Ended
Sep. 30, 2022
$ / shares
shares
Options outstanding (in shares) | shares 233,384
Options outstanding, weighted-average exercise price (in dollars per share) | $ / shares $ 97.78
Granted (in shares) | shares 118,434
Granted, weighted-average exercise price (in dollars per share) | $ / shares $ 48.24
Exercised (in shares) | shares (3,114)
Exercised, weighted-average exercise price (in dollars per share) | $ / shares $ 30.58
Forfeited (in shares) | shares (38,618)
Forfeited, weighted-average exercise price (in dollars per share) | $ / shares $ 91.27
Expired (in shares) | shares (34,201)
Expired (in dollars per share) | $ / shares $ 89.71
Options outstanding (in shares) | shares 275,885
Options outstanding, weighted-average exercise price (in dollars per share) | $ / shares $ 79.19
Options exercisable (in shares) | shares 108,659
Options exercisable, weighted-average exercise price (in dollars per share) | $ / shares $ 91.50
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) - Share-Based Payment Arrangement, Option [Member]
9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Expected life (years) (Year) 6 years 3 months 6 years 3 months
Expected dividend yield 0.00% 0.00%
Minimum [Member]    
Risk-free interest rate 1.94% 0.80%
Expected volatility 45.95% 45.28%
Maximum [Member]    
Risk-free interest rate 3.40% 1.12%
Expected volatility 46.03% 45.35%
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation - Restricted Stock Options (Details) - Restricted Stock [Member]
9 Months Ended
Sep. 30, 2022
$ / shares
shares
Restricted stock (in shares) | shares 343,782
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 111.79
Granted (in shares) | shares 312,270
Granted, weighted-average grant date fair value (in dollars per share) | $ / shares $ 42.05
Restrictions lapsed (in shares) | shares (120,606)
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) | $ / shares $ 104.99
Forfeited (in shares) | shares (39,480)
Forfeited, weighted-average grant date fair value (in dollars per share) | $ / shares $ 106.64
Restricted stock (in shares) | shares 495,966
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 69.95
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation - Performance Stock (Details) - Performance Shares [Member]
9 Months Ended
Sep. 30, 2022
$ / shares
shares
Performance stock (in shares) | shares 16,839
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 115.56
Granted (in shares) | shares 35,697
Granted, weighted-average grant date fair value (in dollars per share) | $ / shares $ 96.71
Restrictions lapsed (in shares) | shares 0
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) | $ / shares $ 0
Performance change (in shares) | shares 0
Performance change, weighted-average grant date fair value (in dollars per share) | $ / shares $ 0
Forfeited (in shares) | shares (3,578)
Forfeited, weighted-average grant date fair value (in dollars per share) | $ / shares $ 121.79
Performance stock (in shares) | shares 48,958
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 109.80
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) - Performance Shares [Member]
9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Risk-free interest rate   0.22%
Expected life (years) (Year)   2 years 10 months 13 days
Expected volatility   51.40%
Expected dividend yield 0.00% 0.00%
Minimum [Member]    
Risk-free interest rate 1.76%  
Expected life (years) (Year) 2 years 4 months 2 days  
Expected volatility 53.50%  
Maximum [Member]    
Risk-free interest rate 3.40%  
Expected life (years) (Year) 2 years 10 months 13 days  
Expected volatility 53.60%  
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) - Employee Stock Purchase Plan [Member]
9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Expected life (months) (Month) 6 months 6 months
Expected dividend yield 0.00% 0.00%
Minimum [Member]    
Risk-free interest rate 0.17% 0.06%
Expected volatility 47.05% 50.85%
Maximum [Member]    
Risk-free interest rate 2.06% 0.12%
Expected volatility 53.44% 65.53%
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Balance $ 820,698 $ 831,977 $ 828,493 $ 644,356
Balance 810,846 824,621 810,846 824,621
AOCI Attributable to Parent [Member]        
Balance (36,149) (8,115) (16,817) (3,420)
Balance (47,024) (13,458) (47,024) (13,458)
Accumulated Foreign Currency Adjustment Attributable to Parent [Member]        
Other comprehensive income (loss) before reclassifications (10,287) (5,298) (28,774) (10,110)
Amounts reclassified from accumulated other comprehensive loss 0 0 0 0
Net current-period other comprehensive income (loss) (10,287) (5,298) (28,774) (10,110)
AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]        
Other comprehensive income (loss) before reclassifications (588) (45) (1,433) 72
Amounts reclassified from accumulated other comprehensive loss 0 0 0 0
Net current-period other comprehensive income (loss) $ (588) $ (45) $ (1,433) $ 72
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 12 - Income Taxes (Details Textual) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended 21 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Dec. 31, 2021
Income Tax Expense (Benefit), Total $ 2,083 $ 2,228 $ 7,223 $ 5,790    
Effective Income Tax Rate Reconciliation, Percent, Total 34.50% 31.50% 38.40%   21.20%  
Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period 3.00%   17.20%      
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent     21.00%      
Unrecognized Tax Benefits, Ending Balance $ 4,500   $ 4,500   $ 4,500 $ 4,400
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting (Details Textual) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Disposal Group, Operating Expense $ 1,194 $ 0 $ 6,388 $ 0
Goodwill, Written Off     630  
Disposal Group, Disposed of by Means Other than Sale, Not Discontinued Operations [Member] | Manufacturing Facility in Japan [Member]        
Disposal Group, Operating Expense 1,200   6,400  
Disposal Group, Employee Severance, Operating Expense 100   2,300  
Disposal Group, Write-down of Fixed Assets, Operating Expense $ 1,100   2,300  
Disposal Group, Facility-related Charges, Operating Expense     900  
Goodwill, Written Off     600  
Disposal Group, Other Closure Related Charges, Operating Expense     $ 300  
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Revenue $ 121,721 $ 125,342 $ 372,791 $ 364,516
Operating Segments [Member]        
Revenue 121,721 125,342 372,791 364,516
Operating Segments [Member] | United States Segment [Member]        
Revenue 98,970 100,127 295,121 286,524
Operating Segments [Member] | Europe Segment [Member]        
Revenue 21,464 22,155 69,441 68,259
Operating Segments [Member] | Japan Segment [Member]        
Revenue $ 1,287 $ 3,060 $ 8,229 $ 9,733
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting - Income From Operations (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Income from operations $ 6,058 $ 6,927 $ 19,149 $ 27,292
Operating Segments [Member] | United States Segment [Member]        
Income from operations 25,293 23,475 73,984 72,258
Operating Segments [Member] | Europe Segment [Member]        
Income from operations (3,581) (2,223) (7,509) 1,469
Operating Segments [Member] | Corporate Unallocated and Japan Segment[Member]        
Income from operations $ (15,654) $ (14,325) $ (47,326) $ (46,435)
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details) - USD ($)
$ in Thousands
Sep. 30, 2022
Dec. 31, 2021
Long-lived assets $ 259,856 $ 280,346
Operating Segments [Member] | United States Segment [Member]    
Long-lived assets 206,965 215,701
Operating Segments [Member] | Europe Segment [Member]    
Long-lived assets 51,636 59,388
Operating Segments [Member] | Japan Segment [Member]    
Long-lived assets $ 1,255 $ 5,257
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.22.2.2
Note 13 - Segment Reporting - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2021
Sep. 30, 2022
Sep. 30, 2021
Revenue $ 121,721 $ 125,342 $ 372,791 $ 364,516
Injection Molding (Protomold) [Member]        
Revenue 48,940 57,685 155,693 172,212
CNC Machining (Firstcut) [Member]        
Revenue 47,489 43,658 141,809 121,953
3D Printing (Fineline) [Member]        
Revenue 19,823 18,589 59,458 53,994
Sheet Metal [Member]        
Revenue 5,219 4,854 15,066 14,790
Other Products [Member]        
Revenue $ 250 $ 556 $ 765 $ 1,567
XML 67 prlb20220930_10q_htm.xml IDEA: XBRL DOCUMENT 0001443669 2022-01-01 2022-09-30 0001443669 2022-11-01 0001443669 2022-09-30 0001443669 2021-12-31 0001443669 2022-07-01 2022-09-30 0001443669 2021-07-01 2021-09-30 0001443669 2021-01-01 2021-09-30 0001443669 us-gaap:CommonStockMember 2021-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001443669 us-gaap:RetainedEarningsMember 2021-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001443669 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001443669 2022-01-01 2022-03-31 0001443669 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001443669 us-gaap:CommonStockMember 2022-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001443669 us-gaap:RetainedEarningsMember 2022-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001443669 2022-03-31 0001443669 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001443669 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001443669 2022-04-01 2022-06-30 0001443669 us-gaap:CommonStockMember 2022-06-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001443669 us-gaap:RetainedEarningsMember 2022-06-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001443669 2022-06-30 0001443669 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001443669 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001443669 us-gaap:CommonStockMember 2022-09-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001443669 us-gaap:RetainedEarningsMember 2022-09-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-09-30 0001443669 us-gaap:CommonStockMember 2020-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001443669 us-gaap:RetainedEarningsMember 2020-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001443669 2020-12-31 0001443669 us-gaap:CommonStockMember 2021-01-01 2021-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001443669 2021-01-01 2021-03-31 0001443669 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-03-31 0001443669 us-gaap:CommonStockMember 2021-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001443669 us-gaap:RetainedEarningsMember 2021-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-03-31 0001443669 2021-03-31 0001443669 us-gaap:CommonStockMember 2021-04-01 2021-06-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001443669 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-04-01 2021-06-30 0001443669 2021-04-01 2021-06-30 0001443669 us-gaap:CommonStockMember 2021-06-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001443669 us-gaap:RetainedEarningsMember 2021-06-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-06-30 0001443669 2021-06-30 0001443669 us-gaap:CommonStockMember 2021-07-01 2021-09-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-07-01 2021-09-30 0001443669 us-gaap:RetainedEarningsMember 2021-07-01 2021-09-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-07-01 2021-09-30 0001443669 us-gaap:CommonStockMember 2021-09-30 0001443669 us-gaap:AdditionalPaidInCapitalMember 2021-09-30 0001443669 us-gaap:RetainedEarningsMember 2021-09-30 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-09-30 0001443669 2021-09-30 0001443669 us-gaap:DisposalGroupDisposedOfByMeansOtherThanSaleNotDiscontinuedOperationsMember prlb:ManufacturingFacilityInJapanMember 2022-07-01 2022-09-30 0001443669 us-gaap:DisposalGroupDisposedOfByMeansOtherThanSaleNotDiscontinuedOperationsMember prlb:ManufacturingFacilityInJapanMember 2022-01-01 2022-09-30 0001443669 prlb:Acquired3dHubsMember 2021-01-22 2021-01-22 0001443669 prlb:Acquired3dHubsMember 2021-01-22 0001443669 prlb:Acquired3dHubsMember us-gaap:CashMember 2021-01-22 2021-12-31 0001443669 srt:MaximumMember prlb:Acquired3dHubsMember us-gaap:CommonStockMember 2021-01-22 2021-01-22 0001443669 srt:MaximumMember prlb:Acquired3dHubsMember us-gaap:CommonStockMember 2021-01-22 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2022-09-30 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2021-12-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2022-01-01 2022-09-30 0001443669 us-gaap:NoncompeteAgreementsMember 2022-09-30 0001443669 us-gaap:NoncompeteAgreementsMember 2021-12-31 0001443669 srt:MinimumMember us-gaap:NoncompeteAgreementsMember 2022-01-01 2022-09-30 0001443669 srt:MaximumMember us-gaap:NoncompeteAgreementsMember 2022-01-01 2022-09-30 0001443669 us-gaap:NoncompeteAgreementsMember 2022-01-01 2022-09-30 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-09-30 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2021-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-01-01 2022-09-30 0001443669 prlb:SoftwarePlatformMember 2022-09-30 0001443669 prlb:SoftwarePlatformMember 2021-12-31 0001443669 prlb:SoftwarePlatformMember 2022-01-01 2022-09-30 0001443669 us-gaap:TradeNamesMember 2022-09-30 0001443669 us-gaap:TradeNamesMember 2021-12-31 0001443669 us-gaap:TradeNamesMember 2022-01-01 2022-09-30 0001443669 us-gaap:CustomerRelationshipsMember 2022-09-30 0001443669 us-gaap:CustomerRelationshipsMember 2021-12-31 0001443669 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2022-01-01 2022-09-30 0001443669 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2022-01-01 2022-09-30 0001443669 us-gaap:CustomerRelationshipsMember 2022-01-01 2022-09-30 0001443669 country:US prlb:Acquired3dHubsMember 2021-01-22 2021-01-22 0001443669 2021-01-01 2021-12-31 0001443669 prlb:FacilityInMaplePlainMinnesotaMember 2022-06-30 0001443669 prlb:FacilityInMaplePlainMinnesotaMember 2022-07-01 2022-09-30 0001443669 prlb:FacilityInMaplePlainMinnesotaMember us-gaap:GeneralAndAdministrativeExpenseMember 2022-07-01 2022-09-30 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:CashMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-09-30 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-09-30 0001443669 us-gaap:CorporateDebtSecuritiesMember 2022-09-30 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-09-30 0001443669 us-gaap:BankTimeDepositsMember 2022-09-30 0001443669 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2022-09-30 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2021-12-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2021-12-31 0001443669 us-gaap:BankTimeDepositsMember 2021-12-31 0001443669 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2021-12-31 0001443669 prlb:LongtermIncentivePlan2012Member 2022-01-01 2022-09-30 0001443669 prlb:ESPPMember 2022-01-01 2022-09-30 0001443669 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-09-30 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2022-01-01 2022-09-30 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2022-01-01 2022-09-30 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-09-30 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-09-30 0001443669 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-09-30 0001443669 us-gaap:EmployeeStockOptionMember 2022-09-30 0001443669 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-09-20 0001443669 srt:MinimumMember us-gaap:RestrictedStockMember 2022-01-01 2022-09-30 0001443669 srt:MaximumMember us-gaap:RestrictedStockMember 2022-01-01 2022-09-30 0001443669 us-gaap:RestrictedStockMember 2021-12-31 0001443669 us-gaap:RestrictedStockMember 2022-01-01 2022-09-30 0001443669 us-gaap:RestrictedStockMember 2022-09-30 0001443669 us-gaap:PerformanceSharesMember 2022-09-30 0001443669 us-gaap:PerformanceSharesMember 2022-01-01 2022-09-30 0001443669 us-gaap:PerformanceSharesMember 2021-12-31 0001443669 srt:MinimumMember us-gaap:PerformanceSharesMember 2022-01-01 2022-09-30 0001443669 srt:MaximumMember us-gaap:PerformanceSharesMember 2022-01-01 2022-09-30 0001443669 us-gaap:PerformanceSharesMember 2021-01-01 2021-09-30 0001443669 srt:MinimumMember prlb:EmployeeStockPurchasePlanMember 2022-01-01 2022-09-30 0001443669 srt:MaximumMember prlb:EmployeeStockPurchasePlanMember 2022-01-01 2022-09-30 0001443669 srt:MinimumMember prlb:EmployeeStockPurchasePlanMember 2021-01-01 2021-09-30 0001443669 srt:MaximumMember prlb:EmployeeStockPurchasePlanMember 2021-01-01 2021-09-30 0001443669 prlb:EmployeeStockPurchasePlanMember 2022-01-01 2022-09-30 0001443669 prlb:EmployeeStockPurchasePlanMember 2021-01-01 2021-09-30 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2022-07-01 2022-09-30 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2021-07-01 2021-09-30 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2022-01-01 2022-09-30 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2021-01-01 2021-09-30 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-07-01 2022-09-30 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-07-01 2021-09-30 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-01-01 2022-09-30 0001443669 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-01-01 2021-09-30 0001443669 2021-01-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2022-07-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-07-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2022-01-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-01-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2022-07-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-07-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2022-01-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-01-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2022-07-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-07-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2022-01-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-01-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember 2022-07-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember 2021-07-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember 2022-01-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember 2021-01-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2022-07-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2021-07-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2022-01-01 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2021-01-01 2021-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2021-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2022-09-30 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2021-12-31 0001443669 prlb:InjectionMoldingProtomoldMember 2022-07-01 2022-09-30 0001443669 prlb:InjectionMoldingProtomoldMember 2021-07-01 2021-09-30 0001443669 prlb:InjectionMoldingProtomoldMember 2022-01-01 2022-09-30 0001443669 prlb:InjectionMoldingProtomoldMember 2021-01-01 2021-09-30 0001443669 prlb:CNCMachiningFirstcutMember 2022-07-01 2022-09-30 0001443669 prlb:CNCMachiningFirstcutMember 2021-07-01 2021-09-30 0001443669 prlb:CNCMachiningFirstcutMember 2022-01-01 2022-09-30 0001443669 prlb:CNCMachiningFirstcutMember 2021-01-01 2021-09-30 0001443669 prlb:ThreeDPrintingFinelineMember 2022-07-01 2022-09-30 0001443669 prlb:ThreeDPrintingFinelineMember 2021-07-01 2021-09-30 0001443669 prlb:ThreeDPrintingFinelineMember 2022-01-01 2022-09-30 0001443669 prlb:ThreeDPrintingFinelineMember 2021-01-01 2021-09-30 0001443669 prlb:SheetMetalMember 2022-07-01 2022-09-30 0001443669 prlb:SheetMetalMember 2021-07-01 2021-09-30 0001443669 prlb:SheetMetalMember 2022-01-01 2022-09-30 0001443669 prlb:SheetMetalMember 2021-01-01 2021-09-30 0001443669 prlb:OtherProductsMember 2022-07-01 2022-09-30 0001443669 prlb:OtherProductsMember 2021-07-01 2021-09-30 0001443669 prlb:OtherProductsMember 2022-01-01 2022-09-30 0001443669 prlb:OtherProductsMember 2021-01-01 2021-09-30 0001443669 prlb:Acquired3dHubsMember 2022-01-01 2022-09-30 shares iso4217:USD iso4217:USD shares utr:Y iso4217:EUR utr:sqft pure utr:M 0001443669 Proto Labs Inc false --12-31 Q3 2022 1821000 1948000 0.001 0.001 10000000 10000000 0 0 0 0 0.001 0.001 150000000 150000000 27326750 27326750 27465945 27465945 930000 783000 147000 930000 713000 217000 11600000 4600000 P10Y P6M P10Y P4Y P3Y P4Y 0 P3Y 10-Q true 2022-09-30 false 001-35435 MN 41-1939628 5540 Pioneer Creek Drive Maple Plain MN 55359 763 479-3680 Common Stock, Par Value $0.001 Per Share PRLB NYSE Yes Yes Large Accelerated Filer false false false 27116891 59361000 65929000 25253000 11580000 80611000 80051000 14617000 13161000 763000 1321000 11752000 11450000 192357000 183492000 259856000 280346000 383558000 400610000 31907000 37998000 29257000 14340000 4293000 5578000 1524000 1898000 4186000 4320000 906938000 928582000 16893000 25364000 15087000 13704000 25478000 11980000 1773000 3298000 1484000 550000 5000 0 60720000 54896000 2477000 2245000 0 1351000 26864000 35892000 6031000 5705000 96092000 100089000 0 0 28000 28000 477107000 468548000 380735000 376734000 -47024000 -16817000 810846000 828493000 906938000 928582000 121721000 125342000 372791000 364516000 68089000 70018000 205933000 197237000 53632000 55324000 166858000 167279000 20594000 21422000 62235000 61946000 9309000 10614000 29316000 33855000 16477000 16361000 49770000 44186000 1194000 0 6388000 0 47574000 48397000 147709000 139987000 6058000 6927000 19149000 27292000 -24000 136000 -323000 -40000 6034000 7063000 18826000 27252000 2083000 2228000 7223000 5790000 3951000 4835000 11603000 21462000 0.14 0.17 0.42 0.78 0.14 0.17 0.42 0.77 27505097 27713229 27512057 27638611 27508217 27730105 27522734 27707784 -6924000 -508000 -18604000 11424000 27465945 28000 468548000 376734000 -16817000 828493000 27716 -462000 -462000 4397000 4397000 -0 5095000 5095000 -4972000 -4972000 -516000 -516000 -393000 27493661 28000 472483000 381829000 -22305000 832035000 122705 0 1158000 0 0 1158000 0 4031000 0 0 4031000 113266 -0 1932000 3307000 -0 5239000 0 0 2557000 0 2557000 0 0 0 -13515000 -13515000 0 0 0 -329000 -329000 -11287000 27503100 28000 475740000 381079000 -36149000 820698000 31150 0 0 0 0 0 0 4907000 0 0 4907000 207500 -0 3540000 4295000 -0 7835000 0 3951000 0 3951000 0 0 0 -10287000 -10287000 0 0 0 -588000 -588000 -6924000 27326750 28000 477107000 380735000 -47024000 810846000 26776796 27000 284848000 362901000 -3420000 644356000 48955 -290000 -290000 863995 1000 166708000 0 166709000 5620000 5620000 -0 3712000 3712000 -6842000 -6842000 166000 166000 -2964000 27689746 28000 456886000 366613000 -10096000 813431000 85317 0 -81000 0 0 -81000 0 4941000 0 0 4941000 14000 -0 149000 1061000 -0 1210000 0 0 12915000 0 12915000 0 0 0 2030000 2030000 0 0 0 -49000 -49000 14896000 27761063 28000 461597000 378467000 -8115000 831977000 0 0 0 0 0 0 4978000 0 0 4978000 157414 -0 1675000 10151000 -0 11826000 0 0 4835000 0 4835000 0 0 0 -5298000 -5298000 0 0 0 -45000 -45000 -508000 27603649 28000 464900000 373151000 -13458000 824621000 11603000 21462000 29981000 30231000 13335000 15539000 -8920000 -139000 0 -8513000 2842000 0 1174000 -0 -11000 -442000 3909000 25615000 1613000 -950000 920000 -1009000 670000 -1226000 1292000 1978000 8366000 -3893000 51564000 32225000 16414000 27956000 3227000 0 -0 127413000 45872000 15159000 1998000 57089000 13696000 15114000 -43365000 -98325000 2311000 3838000 1615000 4209000 13074000 13036000 417000 413000 -12795000 -13820000 -1972000 119000 -6568000 -79801000 65929000 127603000 59361000 47802000 <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"><b>Notes to Consolidated Financial Statements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">1</em> – Basis of Presentation</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The unaudited interim Consolidated Financial Statements of Proto Labs, Inc. (Protolabs, the Company, we, us or our) have been prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) for interim financial information and with the instructions to Form <em style="font: inherit;">10</em>-Q and Article <em style="font: inherit;">10</em> of Regulation S-<em style="font: inherit;">X.</em> In the opinion of management, the accompanying financial statements reflect all adjustments necessary for a fair presentation of the Company’s statements of financial position, results of operations and cash flows for the periods presented. Except as otherwise disclosed herein, these adjustments consist of normal, recurring items. Operating results for interim periods are <em style="font: inherit;">not</em> necessarily indicative of results that <em style="font: inherit;"> may </em>be expected for the fiscal year as a whole.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The preparation of the financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses, and the related disclosures at the date of the financial statements and during the reporting period. Actual results could materially differ from these estimates. For further information, refer to the audited Consolidated Financial Statements and Notes thereto included in the Company’s Annual Report on Form <em style="font: inherit;">10</em>-K for the year ended <em style="font: inherit;"> December 31, 2021</em>, as filed with the Securities and Exchange Commission (SEC) on <em style="font: inherit;"> February 18, 2022.</em></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The accompanying Consolidated Balance Sheet as of <em style="font: inherit;"> December 31, 2021</em> was derived from the audited Consolidated Financial Statements but does <em style="font: inherit;">not</em> include all disclosures required by U.S. GAAP for a full set of financial statements. This Quarterly Report on Form <em style="font: inherit;">10</em>-Q should be read in conjunction with the Company’s Consolidated Financial Statements and Notes included in the Company's Annual Report on Form <em style="font: inherit;">10</em>-K filed on <em style="font: inherit;"> February 18, 2022 </em>as referenced above.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">On <em style="font: inherit;"> May 27, 2022, </em>the Company's board of directors approved a plan for the closure of the Company's manufacturing facility in Japan and announced an intention to cease operations in the region. Affected employees in Japan will receive severance and other transition assistance that meet or exceed local requirements. The Company expects to substantially complete the closure plan within the next year. The Company's decision to close the Japan business resulted in $1.2 million and $6.4 million in operating expenses during the <em style="font: inherit;">three</em> and <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022,</em> respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022.</em>  Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022.</em> </p> 1200000 6400000 100000 1100000 2300000 2300000 900000 600000 300000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">2</em> – Recent Accounting Pronouncements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The Company did <em style="font: inherit;">not</em> recently adopt any accounting pronouncements that had a material impact on the Company's Consolidated Financial Statements.  There are <em style="font: inherit;">no</em> pending accounting pronouncements that are expected to have a material impact on the Company's Consolidated Financial Statements.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">3</em> – Net Income per Common Share</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Basic net income per share is computed based on the weighted-average number of common shares outstanding. Diluted net income per share is computed based on the weighted-average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. Performance stock units are excluded from the calculation of dilutive potential common shares until the performance conditions have been satisfied. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022</em> and <em style="font: inherit;">2021,</em> <em style="font: inherit;">210,443</em> and 184,920 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding, respectively. For the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022</em> and <em style="font: inherit;">2021,</em> 202,901 and 61,400 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding, respectively.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The table below sets forth the computation of basic and diluted net income per share:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands, except share and per share amounts)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,951</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,835</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic - weighted-average shares outstanding:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,505,097</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,713,229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,512,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,638,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -18pt;">Effect of dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Employee stock options and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,120</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,876</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,677</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">69,173</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted - weighted-average shares outstanding:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,508,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,730,105</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,522,734</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,707,784</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.77</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0pt auto 6pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> 210443 184920 202901 61400 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands, except share and per share amounts)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,951</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,835</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic - weighted-average shares outstanding:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,505,097</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,713,229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,512,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,638,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -18pt;">Effect of dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-indent: 18pt;">Employee stock options and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,120</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,876</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,677</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">69,173</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted - weighted-average shares outstanding:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,508,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,730,105</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,522,734</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,707,784</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.77</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> </tbody></table> 3951000 4835000 11603000 21462000 27505097 27713229 27512057 27638611 3120 16876 10677 69173 27508217 27730105 27522734 27707784 0.14 0.17 0.42 0.78 0.14 0.17 0.42 0.77 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">4</em> – Business Combinations</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">On <em style="font: inherit;"> January 22, 2021, </em>the Company acquired all of the outstanding shares of <em style="font: inherit;">3D</em> Hubs, Inc. (Hubs), for $294.1 million, consisting of $127.4 million in cash and 863,995 shares of the Company's common stock valued at $166.7 million on the closing date. The purchase agreement included additional contingent consideration of up to $52.8 million subject to the achievement of performance-based targets during fiscal <em style="font: inherit;">2021</em> and fiscal <em style="font: inherit;">2022.</em> The contingent consideration consisted of up to $25.0 million in cash and up to 143,983 shares of the Company's common stock valued at $27.8 million on the closing date. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Hubs is based in Amsterdam, Netherlands and is a leading online manufacturing platform that provides customers with on-demand access to a global network of premium manufacturing partners. The acquisition enhances the Company’s value proposition by expanding the customer offerings, enabling the Company to more holistically serve its customers.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The fair value of the consideration paid for this acquisition has been allocated to the assets purchased and liabilities assumed based on their fair values as of the acquisition date, with any excess recorded as goodwill.  The goodwill associated with the acquisition represents both the strategic and growth opportunities by significantly expanding the customer offering with a network of premium manufacturing partners. The goodwill related to the acquisition is <em style="font: inherit;">not</em> deductible for tax purposes. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC <em style="font: inherit;">805,</em> <i>Business Combinations</i>. The final purchase price allocation was as follows:</p> <hr class="hr-custom" style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 6pt auto 0pt auto;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Acquisition</em></b></td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets acquired:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,497</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">30,770</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">280,925</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,139</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">315,331</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities assumed:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Current contingent consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt">7,093</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,666</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term contingent consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt">6,507</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term deferred tax liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,688</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">255</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21,209</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net assets acquired</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">294,122</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash paid</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">133,847</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash acquired</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,434</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net cash consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">127,413</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equity portion of purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">166,709</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total purchase consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">294,122</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr class="hr-custom" style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0pt auto 6pt auto;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> 294100000 127400000 863995 166700000 52800000 25000000.0 143983 27800000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Acquisition</em></b></td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets acquired:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2,497</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">30,770</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">280,925</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,139</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">315,331</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities assumed:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Current contingent consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt">7,093</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">5,666</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term contingent consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt">6,507</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Long-term deferred tax liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,688</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">255</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21,209</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net assets acquired</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">294,122</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash paid</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">133,847</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cash acquired</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,434</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Net cash consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">127,413</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equity portion of purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">166,709</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total purchase consideration</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">294,122</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> </td></tr> </tbody></table> 2497000 30770000 280925000 1139000 315331000 7093000 5666000 6507000 1688000 255000 21209000 294122000 133847000 6434000 127413000 166709000 294122000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">5</em> – Goodwill and Other Intangible Assets</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The changes in the carrying amount of goodwill during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Nine Months Ended September 30, 2022</em></b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance as of the beginning of the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">400,610</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill acquired during the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Goodwill written off during the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(630</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">(16,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance as of the end of the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">383,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Goodwill of $0.6 million was written off as of <em style="font: inherit;"> September 30, 2022, </em>as a result of the Company's decision to close the Japan manufacturing facility and exit the Japan market. The Japan business was in operations through the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> and the assets are expected to be available for sale in the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2022.</em> The Euro denominated goodwill is translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Intangible assets other than goodwill at <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;"> December 31, 2021</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 21%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">September 30, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 21%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Life (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful Life Remaining (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Intangible assets with finite lives:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Marketing assets</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425298">$ 930</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425299">$ (783)</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425300">$ 147</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425301">$ 930</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425302">$ (713)</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425303">$ 217</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">10.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">1.5</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreement</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">807</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(448</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">359</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">842</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(363</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">479</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">2.0 - 5.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">2.3</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Software technology</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">13,229</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(6,041</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">7,188</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">13,229</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(5,014</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">8,215</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">10.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">5.8</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Software platform</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">25,071</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(3,631</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">21,440</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">26,725</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(2,262</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">24,463</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">12.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">10.3</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">337</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(190</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">147</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">359</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(114</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">245</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">3.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">1.3</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">12,117</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(9,491</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">2,626</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">12,252</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(7,873</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">4,379</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">3.0 - 9.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">1.1</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">52,491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">(20,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">31,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">54,337</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">(16,339</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">37,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; text-align: right;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Intangible assets have been allocated to the acquired Hubs entities consisting of intangible assets of <span style="-sec-ix-hidden:c90425254">€11.6</span> million in Europe and $16.6 million in the United States as of the date of the acquisition. The Euro denominated intangible assets are translated at the end of each period using the current exchange rates resulting in a foreign currency translation adjustment that is recorded as a component of Other Comprehensive Income. Foreign currency losses related to intangible assets were $2.8 million and $0.9 million as of <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;"> December 31, 2021, </em>respectively. Amortization expense for intangible assets was $1.5 million and $1.6 million for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September 30, 2022 </em>and <em style="font: inherit;">2021</em>, respectively, and $4.6 million in each of the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022</em> and <em style="font: inherit;">2021.</em></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets and current exchange rates is as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 83%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="padding: 0px; width: 0%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Estimated Amortization Expense</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Remaining 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5,774</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,453</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">13,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total estimated amortization expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">31,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Nine Months Ended September 30, 2022</em></b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance as of the beginning of the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">400,610</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill acquired during the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Goodwill written off during the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(630</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt"> <p style="margin-top: 0pt; margin-bottom: 0pt">Foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">(16,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance as of the end of the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">383,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 400610000 0 630000 -16422000 383558000 600000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 21%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">September 30, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 21%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Life (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="1" style="text-align: center; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 8%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful Life Remaining (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Intangible assets with finite lives:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 7%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Marketing assets</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425298">$ 930</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425299">$ (783)</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425300">$ 147</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425301">$ 930</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425302">$ (713)</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> <p style="margin-top: 0pt; margin-bottom: 0pt"><span style="-sec-ix-hidden:c90425303">$ 217</span></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">10.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">1.5</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Non-compete agreement</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">807</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(448</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">359</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">842</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(363</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">479</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">2.0 - 5.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">2.3</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Software technology</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">13,229</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(6,041</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">7,188</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">13,229</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(5,014</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">8,215</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">10.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">5.8</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Software platform</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">25,071</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(3,631</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">21,440</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">26,725</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(2,262</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">24,463</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">12.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">10.3</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Tradenames</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">337</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(190</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">147</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">359</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">(114</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px;">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;">245</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">3.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">1.3</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">12,117</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(9,491</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">2,626</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">12,252</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(7,873</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="2" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">4,379</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0px; margin: 0px; text-align: right;"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">3.0 - 9.0</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td><td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%; padding: 0; margin: 0">1.1</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">52,491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">(20,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">31,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">54,337</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">(16,339</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; text-align: right;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">$</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">37,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; text-align: right;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 8%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> </tbody></table> P10Y P1Y6M 807000 448000 359000 842000 363000 479000 P2Y P5Y P2Y3M18D 13229000 6041000 7188000 13229000 5014000 8215000 P10Y P5Y9M18D 25071000 3631000 21440000 26725000 2262000 24463000 P12Y P10Y3M18D 337000 190000 147000 359000 114000 245000 P3Y P1Y3M18D 12117000 9491000 2626000 12252000 7873000 4379000 P3Y P9Y P1Y1M6D 52491000 20584000 31907000 54337000 16339000 37998000 16600000 2800000 900000 1500000 1600000 4600000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 83%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="padding: 0px; width: 0%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Estimated Amortization Expense</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Remaining 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5,774</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,453</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">13,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total estimated amortization expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">31,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 1491000 5774000 3647000 3551000 3453000 13991000 31907000 <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"> <b>Note <em style="font: inherit;">6</em> </b>–<b> Assets Held for Sale</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Assets are classified as held for sale and presented separately on the Consolidated Balance Sheet when all of the following criteria for a plan of sale have been met: (<em style="font: inherit;">1</em>) management, having the authority to approve the action, commits to a plan to sell the assets; (<em style="font: inherit;">2</em>) the assets are available for immediate sale, in their present condition, subject only to terms that are usual and customary for sales of such assets; (<em style="font: inherit;">3</em>) an active program to locate a buyer and other actions required to complete the plan to sell the assets have been initiated; (<em style="font: inherit;">4</em>) the sale of the assets is probable and is expected to be completed within <em style="font: inherit;">one</em> year; (<em style="font: inherit;">5</em>) the assets are being actively marketed for a price that is reasonable in relation to their current fair value; and (<em style="font: inherit;">6</em>) actions required to complete the plan indicate that it is unlikely that significant changes to the plan will be made or the plan will be withdrawn. The assets are then recorded at the lower of their current carrying value or the fair market value, less costs to sell.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2022,</em> a facility the Company owns in Maple Plain, Minnesota, encompassing approximately 35,000 square feet of manufacturing and office space, met the criteria to be held for sale. The assets held for sale were $2.0 million as of <em style="font: inherit;"> June 30, 2022 </em>and were presented on the Company's Consolidated Balance Sheet as Long-term assets held for sale. The Company closed on the sale of the facility in the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> for a net purchase price of $3.2 million, which resulted in a gain of $1.2 million recorded in general and administrative expense on the Company's Consolidated Statements of Operations.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"> </p> 35000 2000000.0 3200000 1200000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">7</em> – Fair Value Measurements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Accounting Standards Codification, <i>Fair Value Measuremen</i>t (ASC <em style="font: inherit;">820</em>), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC <em style="font: inherit;">820</em> also establishes a fair value hierarchy that requires classification based on observable and unobservable inputs when measuring fair value. There are <em style="font: inherit;">three</em> levels of inputs that <em style="font: inherit;"> may </em>be used to measure fair value:</p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i>Level </i><em style="font: inherit;">1—Quoted</em> prices in active markets for identical assets or liabilities.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i>Level </i><em style="font: inherit;">2—Observable</em> inputs other than Level <em style="font: inherit;">1</em> prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are <em style="font: inherit;">not</em> active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i>Level </i><em style="font: inherit;">3—Unobservable</em> inputs that are supported by little or <em style="font: inherit;">no</em> market activity and that are significant to the fair value of the assets or liabilities.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company's assets and liabilities that are required to be measured or disclosed at fair value on a recurring basis include cash and cash equivalents and marketable securities. The Company’s cash consists of bank deposits and cash equivalents consist primarily of money market mutual funds. The Company determines the fair value of these investments using Level <em style="font: inherit;">1</em> inputs. The Company's marketable securities consist of short-term and long-term agency, municipal, corporate and other debt securities. Fair value for the corporate debt securities is primarily determined based on quoted market prices (Level <em style="font: inherit;">1</em>). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level <em style="font: inherit;">2</em>).</p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes financial assets as of <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;"> December 31, 2021</em> measured at fair value on a recurring basis: </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">September 30, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 40%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Financial Assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">36,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">65,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Money market mutual fund</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,548</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">292</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">17,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">37,414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">7,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">76,457</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">37,414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">73,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">September 30, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 40%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Financial Assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">36,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">65,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Money market mutual fund</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,548</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">292</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">17,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">37,414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">7,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">76,457</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">37,414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">73,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">18,318</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 36813000 0 0 65637000 0 0 22548000 0 0 292000 0 0 17096000 37414000 0 7602000 18318000 0 76457000 37414000 0 73531000 18318000 0 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">8</em> – Marketable Securities</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as available-for-sale and are recorded at fair value. The following table summarizes information regarding the Company’s short-term and long-term marketable securities as of <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;"> December 31, 2021</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">September 30, 2022</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">25,780</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(787</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">24,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">1,189</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">(11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">1,178</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">56,062</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(1,552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">54,510</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,549</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,303</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,687</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">26,039</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">25,920</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level <em style="font: inherit;">1</em>). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level <em style="font: inherit;">2</em>).</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The <em style="font: inherit;"> September 30, 2022</em> balance of available-for-sale debt securities by contractual maturity is shown in the following table at fair value. Actual maturities <em style="font: inherit;"> may </em>differ from contractual maturities because the issuers of the securities <em style="font: inherit;"> may </em>have the right to prepay obligations without prepayment penalties.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">September 30,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin-top: 0pt; margin-bottom: 0pt">(in thousands)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2022</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,253</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">29,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">54,510</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">September 30, 2022</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">25,780</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(787</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">24,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">1,189</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">(11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">1,178</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">56,062</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(1,552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">54,510</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 17991000 0 494000 17497000 9602000 0 259000 9343000 25780000 0 787000 24993000 1189000 0 11000 1178000 1500000 0 1000 1499000 56062000 0 1552000 54510000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,549</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,303</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,488</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,687</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Commercial paper</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">26,039</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">25,920</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 12549000 0 70000 12479000 9303000 0 44000 9259000 2500000 0 12000 2488000 1687000 7000 -0 1694000 0 0 -0 0 26039000 7000 126000 25920000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">September 30,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin-top: 0pt; margin-bottom: 0pt">(in thousands)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2022</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,253</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">29,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">54,510</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 25253000 29257000 54510000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">9</em> – Inventory </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s inventory consisted of the following as of the dates indicated:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">September 30,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin-top: 0pt; margin-bottom: 0pt">(in thousands)</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2022</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2021</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Total inventory</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">14,953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">13,474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Allowance for obsolescence</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(336</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Inventory, net of allowance</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">14,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">13,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">September 30,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin-top: 0pt; margin-bottom: 0pt">(in thousands)</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2022</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2021</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Total inventory</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">14,953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">13,474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Allowance for obsolescence</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(336</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">(313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: thin solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 977px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Inventory, net of allowance</p> </td><td style="width: 13px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">14,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">13,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 14953000 13474000 336000 313000 14617000 13161000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">10</em> – Stock-Based Compensation</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Under the Company’s <em style="font: inherit;">2012</em> Long-Term Incentive Plan, as amended (the <em style="font: inherit;">2012</em> Plan), the Company had the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards through <em style="font: inherit;"> February 23, </em><em style="font: inherit;">2022.</em> On <em style="font: inherit;"> July 8, 2022, </em>the board of directors approved the Proto Labs, Inc. <em style="font: inherit;">2022</em> Long-Term Incentive Plan (the <em style="font: inherit;">2022</em> Plan), which was approved by the Company's shareholders at a Special Meeting of Shareholders on <em style="font: inherit;"> August 29, 2022. </em><em style="font: inherit;">No</em> awards were granted from <em style="font: inherit;"> February 23, 2022 </em>to <em style="font: inherit;"> August 29, 2022. </em>Awards outstanding under the <em style="font: inherit;">2012</em> Plan as of <em style="font: inherit;"> August 29, 2022 </em>will continue to be subject to the terms of the <em style="font: inherit;">2012</em> Plan, but if those awards subsequently expire, are forfeited or cancelled or are settled in cash, the shares subject to those awards will become available for awards under the <em style="font: inherit;">2022</em> Plan. Under the <em style="font: inherit;">2022</em> Plan, the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the <em style="font: inherit;">2022</em> Plan have a maximum term of <span style="-sec-ix-hidden:c90425538">ten</span> years from the date of grant. The compensation committee <em style="font: inherit;"> may </em>provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and SARs granted under the <em style="font: inherit;">2022</em> Plan generally <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be less than the fair market value of a share of our common stock on the date of the grant.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Employee Stock Purchase Plan</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s <em style="font: inherit;">2012</em> Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock each offering period at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for <span style="-sec-ix-hidden:c90425543">six</span>-month offering periods with a single purchase period ending <em style="font: inherit;"> May </em><em style="font: inherit;">15</em> and <em style="font: inherit;"> November </em><em style="font: inherit;">15,</em> respectively. At the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the <em style="font: inherit;">first</em> trading day of the offering period or on the last trading day of the offering period.</p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Stock-Based Compensation Expense</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Stock-based compensation expense was $4.9 million and $5.0 million for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em>, respectively, and $13.3 and $15.5 million for the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022</em> and <em style="font: inherit;">2021,</em> respectively.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Stock Options</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes stock option activity during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">233,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">97.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">118,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">48.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(3,114</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">(38,618</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">91.27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Expired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(34,201</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">89.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Options outstanding at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">275,885</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">79.19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Exercisable at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">108,659</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">91.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The outstanding options generally have a term of <span style="-sec-ix-hidden:c90425559">ten</span> years. For employees, options granted become exercisable ratably over the vesting period, which is generally a period of <span style="-sec-ix-hidden:c90425560">four</span> years, beginning on the <em style="font: inherit;">first</em> anniversary of the grant date, subject to the employee’s continuing service to the Company. For the board of directors, options generally become exercisable in full on the <em style="font: inherit;">first</em> anniversary of the grant date.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The weighted-average grant date fair value of options that were granted during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> was $23.11.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table provides the assumptions used in the Black-Scholes pricing model valuation of options during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 17%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">1.94% - 3.40%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">0.80% - 1.12%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45.95% - 46.03%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45.28 - 45.35%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">As of <em style="font: inherit;"> September 30, 2022</em>, there was $4.5 million of unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.8 years.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Restricted Stock </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restricted stock awards are share-settled awards and restrictions lapse ratably over the vesting period, which is generally a period from <span style="-sec-ix-hidden:c90425571">three</span> to <span style="-sec-ix-hidden:c90425572">four</span> years, beginning on the <em style="font: inherit;">first</em> anniversary of the grant date, subject to the employee's continuing service to the Company. For the board of directors, restrictions generally lapse in full on the <em style="font: inherit;">first</em> anniversary of the grant date. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes restricted stock activity during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Restricted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">343,782</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">312,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">42.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(120,606</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">104.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">(39,480</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">106.64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Restricted stock at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">495,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">69.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">As of <em style="font: inherit;"> September 30, 2022</em>, there was $24.7 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.6 years. </p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Performance Stock </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between <span style="-sec-ix-hidden:c90425579">0</span> percent and 200 percent of that target number capable of being earned and vesting at the end of a <span style="-sec-ix-hidden:c90425581">three</span>-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from <em style="font: inherit;">2017</em> to <em style="font: inherit;">2019</em> and certain PSUs granted in <em style="font: inherit;">2021</em> are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in <em style="font: inherit;">2020</em> and <em style="font: inherit;">2022</em> and certain PSUs granted in <em style="font: inherit;">2021</em> are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes performance stock activity during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Performance</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td><td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,839</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">115.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">35,697</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">96.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: -9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: -9pt;">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt 0pt 0pt 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: -18pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(3,578</td><td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">121.79</td><td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Performance stock at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">48,958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">109.80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: -9pt;">The following table provides the assumptions used in the Monte Carlo pricing model valuation of PSUs during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em>: </p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <hr class="hr-custom" style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 6pt auto 0pt auto;"/> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">1.76% - 3.40%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0.22%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">2.34 - 2.87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">2.87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">53.5% - 53.6%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">51.40%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr class="hr-custom" style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0pt auto 0pt auto;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">As of <em style="font: inherit;"> September 30, 2022</em>, there was $2.8 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 2.2 years. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Employee Stock Purchase Plan</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table presents the assumptions used to estimate the fair value of the ESPP during the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em>: </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0.17 - 2.06%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0.06 - 0.12%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected life (months)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">47.05 - 53.44%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">50.85 - 65.53%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> 0.15 0.85 4900000 5000000.0 13300000 15500000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">233,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">97.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">118,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">48.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(3,114</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">(38,618</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">91.27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Expired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(34,201</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">89.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Options outstanding at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">275,885</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">79.19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Exercisable at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">108,659</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">91.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> </tbody></table> 233384 97.78 118434 48.24 3114 30.58 38618 91.27 34201 89.71 275885 79.19 108659 91.50 23.11 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 17%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">1.94% - 3.40%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">0.80% - 1.12%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45.95% - 46.03%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45.28 - 45.35%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0194 0.0340 0.0080 0.0112 P6Y3M P6Y3M 0.4595 0.4603 0.4528 0.4535 0 0 4500000 P2Y9M18D <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Restricted</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">343,782</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">312,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">42.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(120,606</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">104.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">(39,480</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">106.64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Restricted stock at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">495,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">69.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> </tbody></table> 343782 111.79 312270 42.05 120606 104.99 39480 106.64 495966 69.95 24700000 P2Y7M6D 2 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Performance</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td><td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td><td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,839</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">115.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">35,697</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">96.71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: -9pt;">Restrictions lapsed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: -9pt;">Performance change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt 0pt 0pt 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: -18pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(3,578</td><td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">121.79</td><td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Performance stock at September 30, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">48,958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">109.80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> </tbody></table> 16839 115.56 35697 96.71 -0 0 0 0 3578 121.79 48958 109.80 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">1.76% - 3.40%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0.22%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">2.34 - 2.87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">2.87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">53.5% - 53.6%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">51.40%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0176 0.0340 0.0022 P2Y4M2D P2Y10M13D P2Y10M13D 0.535 0.536 0.5140 0 0 2800000 P2Y2M12D <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0.17 - 2.06%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0.06 - 0.12%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected life (months)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">47.05 - 53.44%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">50.85 - 65.53%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: center;"> <p style="margin-top: 0pt; margin-bottom: 0pt">0%</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0017 0.0206 0.0006 0.0012 P6M P6M 0.4705 0.5344 0.5085 0.6553 0 0 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <b>Note <em style="font: inherit;">11</em> – Accumulated Other Comprehensive Income (Loss)</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Other comprehensive income (loss) is comprised of foreign currency translation adjustments and net unrealized gains (losses) on investments in securities. The following table presents the changes in accumulated other comprehensive income (loss) balances during the <em style="font: inherit;">three</em> and <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 3pt 0px; border: currentColor; border-image: none; width: 100%; height: 1px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Balance at beginning of period</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(36,149</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(8,115</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(16,817</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(3,420</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"><i>Foreign currency translation adjustments</i></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(10,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(5,298</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(28,774</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(10,110</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Amounts reclassified from accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,298</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(28,774</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,110</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"><i>Net unrealized gains (losses) on investments in securities</i></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(588</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(45</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(1,433</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">72</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Amounts reclassified from accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(588</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(45</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,433</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">72</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(47,024</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(13,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(47,024</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(13,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">)</td></tr> </tbody></table> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 3pt 0px; border: currentColor; border-image: none; width: 100%; height: 1px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Balance at beginning of period</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(36,149</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(8,115</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(16,817</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(3,420</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"><i>Foreign currency translation adjustments</i></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(10,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(5,298</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(28,774</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(10,110</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Amounts reclassified from accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,298</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(28,774</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,110</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;"><i>Net unrealized gains (losses) on investments in securities</i></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><i> </i></td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(588</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(45</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(1,433</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">72</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt; text-indent: 27pt;">Amounts reclassified from accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 36pt; text-indent: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(588</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(45</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,433</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">72</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(47,024</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(13,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(47,024</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(13,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">)</td></tr> </tbody></table> -36149000 -8115000 -16817000 -3420000 -10287000 -5298000 -28774000 -10110000 -0 -0 -0 -0 -10287000 -5298000 -28774000 -10110000 -588000 -45000 -1433000 72000 -0 -0 -0 -0 -588000 -45000 -1433000 72000 -47024000 -13458000 -47024000 -13458000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">12</em> – Income Taxes</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em>, the Company recorded an income tax provision of $2.1 million and $2.2 million, respectively. For the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022</em> and <em style="font: inherit;">2021,</em> the Company recorded an income tax provision of $7.2 million and $5.8 million, respectively. The income tax provision is based on the estimated annual effective tax rate for the year applied to pre-tax income. The effective income tax rate for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September 30, 2022</em> was 34.5 percent compared to 31.5 percent in the same period of the prior year. The effective tax rate increased by 3.0 percent for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September 30, 2022</em> when compared to the same period in <em style="font: inherit;">2021</em>, primarily due to an increase in losses in jurisdictions, mainly Japan, that are <em style="font: inherit;">not</em> eligible for tax benefits due to valuation allowances. The effective income tax rate for the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> was 38.4 percent compared to 21.2 percent in the same period of the prior year. The effective tax rate increased by 17.2 percent for the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> when compared to the same period in <em style="font: inherit;">2021</em>, primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options, as well as an increase in losses in jurisdictions, mainly Japan, that are <em style="font: inherit;">not</em> eligible for tax benefits due to valuation allowances. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The effective income tax rate for the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> differs from the U.S. federal statutory rate of 21.0 percent due to various factors, including operating in multiple state and foreign jurisdictions and tax credits for which the Company qualifies.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company had unrecognized tax benefits totaling $4.5 million as of <em style="font: inherit;"> September 30, 2022</em> and $4.4 million as of <em style="font: inherit;"> December 31, 2021</em>, respectively, that if recognized would result in a reduction of the Company’s effective tax rate. The liabilities are classified as other long-term liabilities in the accompanying consolidated balance sheets. The Company recognizes interest and penalties related to income tax matters in income tax expense and reports the liability in current or long-term income taxes payable as appropriate. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> 2100000 2200000 7200000 5800000 0.345 0.315 0.030 0.384 0.212 0.172 0.210 4500000 4400000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">13</em> – Segment Reporting</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s reportable segments are based on the internal reporting used by the Company’s Chief Executive Officer, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs, that the Company does <em style="font: inherit;">not</em> allocate directly to its operating segments.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are <em style="font: inherit;">not</em> allocated to business segments. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Revenue and income from operations by reportable segment for the <em style="font: inherit;">three</em> and <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">98,970</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">100,127</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">295,121</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">286,524</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Europe</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">21,464</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">22,155</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">69,441</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">68,259</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Japan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,287</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">3,060</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">8,229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">9,733</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">121,721</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">125,342</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">372,791</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">364,516</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 3pt 0px; border: currentColor; border-image: none; width: 100%; height: 1px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Income (Loss) from Operations:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">25,293</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23,475</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">73,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">72,258</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Europe</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(3,581</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(2,223</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(7,509</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,469</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Corporate Unallocated and Japan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(15,654</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(14,325</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(47,326</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(46,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Income from Operations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,058</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,927</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,149</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,292</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Total long-lived assets at <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;"> December 31, 2021</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">September 30,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin-top: 0pt; margin-bottom: 0pt">(in thousands)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2022</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2021</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Total long-lived assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">206,965</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">215,701</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">51,636</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">59,388</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">1,255</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">5,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Long-lived Assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">259,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">280,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company's decision to close the Japan business resulted in operating expenses of $1.2 million and $6.4 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022,</em> respectively. Operating expenses included $0.1 million of employee severance and $1.1 million related to the write-down of fixed assets for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022.</em> Operating expenses included $2.3 million of employee severance, $2.3 million related to the write-down of fixed assets, $0.9 million of facility-related charges, $0.6 million in goodwill impairment charges and $0.3 million in other closure related charges for the <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2022.</em> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Revenue by product line for the <em style="font: inherit;">three</em> and <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2022</em> and <em style="font: inherit;">2021</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr class="hr-custom" style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Injection Molding</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">48,940</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">57,685</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">155,693</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">172,212</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">CNC Machining</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">47,489</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">43,658</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">141,809</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">121,953</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">3D Printing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">19,823</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">18,589</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">59,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">53,994</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Sheet Metal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">5,219</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">4,854</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">15,066</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">14,790</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Other Revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">250</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">556</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,567</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">121,721</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">125,342</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">372,791</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">364,516</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0"/> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">98,970</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">100,127</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">295,121</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">286,524</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Europe</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">21,464</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">22,155</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">69,441</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">68,259</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Japan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,287</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">3,060</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">8,229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">9,733</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">121,721</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">125,342</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">372,791</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">364,516</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 98970000 100127000 295121000 286524000 21464000 22155000 69441000 68259000 1287000 3060000 8229000 9733000 121721000 125342000 372791000 364516000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Income (Loss) from Operations:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">25,293</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23,475</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">73,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">72,258</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Europe</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(3,581</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(2,223</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(7,509</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,469</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Corporate Unallocated and Japan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(15,654</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(14,325</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(47,326</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(46,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Income from Operations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,058</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,927</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,149</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,292</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 25293000 23475000 73984000 72258000 -3581000 -2223000 -7509000 1469000 -15654000 -14325000 -47326000 -46435000 6058000 6927000 19149000 27292000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">September 30,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin-top: 0pt; margin-bottom: 0pt">(in thousands)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2022</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"> </td><td colspan="2" rowspan="1" style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; text-align: center; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">2021</em></b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Total long-lived assets:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">206,965</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">215,701</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Europe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">51,636</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">59,388</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Japan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">1,255</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">5,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Long-lived Assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">259,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">280,346</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td></tr> </tbody></table> 206965000 215701000 51636000 59388000 1255000 5257000 259856000 280346000 1200000 6400000 100000 1100000 2300000 2300000 900000 600000 300000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;">Nine Months Ended September 30,</em></em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"><b> </b></td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Injection Molding</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">48,940</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">57,685</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">155,693</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">172,212</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">CNC Machining</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">47,489</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">43,658</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">141,809</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">121,953</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">3D Printing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">19,823</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">18,589</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">59,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">53,994</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Sheet Metal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">5,219</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">4,854</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">15,066</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">14,790</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td></tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin-top: 0pt; margin-bottom: 0pt">Other Revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">250</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">556</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,567</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">121,721</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">125,342</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">372,791</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">364,516</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 48940000 57685000 155693000 172212000 47489000 43658000 141809000 121953000 19823000 18589000 59458000 53994000 5219000 4854000 15066000 14790000 250000 556000 765000 1567000 121721000 125342000 372791000 364516000 EXCEL 68 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( #QH9%4'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " \:&15D^:=Y>X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2@,Q$(9?17+?G61;%,(VEXHG!<&"XBTDTS:XV0W)R&[?WFQLMX@^@,?,_/GF M&YC6!&F&B,]Q"!C)8;J9?-NPI@:@%,#5/ M#*>I:^$*F&&$T:?O MJ%6*I_8DL'V#DY);>DQG&LQU7)Y1T$O#T]OI1U*] &W:9_+K:WN\>F&IXTU1"5'R]$W>2"[GF[[/K#[^KL!^LV[M_ M;'P15"W\N@OU!5!+ P04 " \:&15F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M #QH9%7_0-BBV 4 /,> 8 >&PO=V]R:W-H965T&UL MM9EO;^HV%,:_BL6F:9,N)7: ECN*1+GM5JWMY9;N3G?37IC$0-0D9K;3/]]^ MQPDDM'(.+!IOVB3D//'/Y\1^' ^?I7K4*R$,>4GB5)^W5L:L/W8Z.EB)A.L3 MN18I_+*0*N$&3M6RH]=*\# /2N(.\[Q^)^%1VAH-\VM3-1K*S,11*J:*Z"Q) MN'J]$+%\/F_1UO;"?;1<&7NA,QJN^5+,A/E]/55PUBE5PB@1J8YD2I18G+?& M]./$9S8@O^-K))[USC&Q*',I'^W)=7C>\FR+1"P"8R4X_'L2$Q''5@G:\<]& MM%4^TP;N'F_5KW)X@)ES+28R_B,*S>J\==8BH5CP+#;W\OE7L0'J6;U QCK_ M2YZ+>[O=%@DR;62R"886)%%:_.*&CX9*/A-E[P8U>Y#W31X--%%JTS@S"GZ-(,Z,/LD@@ZP8,DY#1 M:R,2_;>KRPK)KEO2OK(?]9H'XKP%[Z06ZDFT1C]\1_O>SR[>_TGL#7VWI.]B MZJ--J4R@ Q2/H0]"\4)^$Z\N:%S)\SS:[?K]_L#%B,8V9.R5C+U#&._%,M) M":F^XXEP$>(Z4R6-)#=\KJ&? A M:U>G3-"PAE"G)=0IVJA)IE2.%.D RO.;X,J.0P3&2&<"<;5VF[*V3UV0:&!# MR+,2\@QM5CD";2BG0D4R)%=PV3E>XVI??!J]#6UQ@87:,I:&1V*.HF=*H5)4$>Y MT4'RB8O53A=X7%/(RL_0@PS-510+P\O0RLS0 M@]P,.!"I('>Y7_U 9@:*EDA%)C(#*P>.3H;N(L;5;^^PV+C*4H#=ZYQS9IW^!@6 MB546B>$6YSWH5&H#7O#/:%T[5.U1[/7\GG.MB<T2ZIX.VWS_SG'S'<$>LUQ2TLC\^ M[EZVB5P)2"2&A\O4XQW#!OF5#?)Q![,=:=_,\?ETKLGGS("I3>T,ZB3^GPS. MIA\*M5ZN9G=YGT;LE-+^V8 ..T^[C)V=;45;?OENJR:!_5)0[#"65\L=W7&^ MC]FI;B^V@V^YK5Y-8K& 4._D%!ZOBAW6XL3(=;Y).9?&R"0_7 D>"F5O@-\7 M4IKMB7U N<\]^A=02P,$% @ /&AD568%>*$*!P EAX !@ !X;"]W M;W)KE/[<;J4T MZ&M=->WE8FO,[O5JU>9;68OVE=K)!G[9*%T+ [?Z;M7NM!1%;U17*XIQLJI% MV2S6%_VS:[V^4)VIRD9>:]1V=2WTMW>R4@^7"[)X?/"QO-L:^V"UOMB).WDC MS:?=M8:[U6&4HJQETY:J05IN+A=OR>LKQJU!C_BGE _MT36R4[E5ZK.]^;VX M7&#+2%8R-W8( 7_NY96L*CL2\/@R#+HXO-,:'E\_COZAGSQ,YE:T\DI5_Y:% MV5XN^ (54 /P% MO42?;MZCGU_\@EZ@LD%_;U77BJ9H+U8&2-FA5_E X-V> )TA<"-WKQ##2T0Q MI1[SJ[#Y>YF#.>G-R:GY"EQQ\ <]^(/VX[$Y?PQ3%FT++O!-9V\?^>WMKGO= M[D0N+Q>PK5JI[^5B_>,/),%O?)/[3H.=3)4=ILI"HZ^O1+M%L&@HMQ?R2U?> MBPKF[IWU?JBD'\JFAOMUG+$$/'Y_/!T7E<09S0ZH$Y[1@6<4Y'FS5=J\-%+7 M$/CZLS3BMI*HE7FG2U-*+]W]B/$1$1K3F$WHNBA"8H[]=.,#W3A(]VV>JPZ\ M"$DNE^!2(+M$#21DM4&B@K39;S%(P*A0W:W9=!7DLL$$("_(DE/2KPM<9A&' M4+3/89\86=]*?=@LRQX$&V!X/&R");RXWW$.$*>WEE;C+$24DG?#RH!A)9GBE!U[I&5ZYJB4RXJL\7C@? MR]1Y?YI, \O%$$9G*/(#11ZD>*WE3I0%DE]!PEN@:5=?F2TL?7XV:7%/I**(VT M^=:[U2;#'10KIM^Y7E'#G@R3\3B9T/7A.&91,L/W2+=)D.^O2A4/955YR1'G MI8RS..936?%0H$I:H?1X-D'-%)\-)QIQ-[\%1 M'O.Y##KJ$^%/*IVK4MR6U?S."SOQ;:Y@(![) M2KB[!5T85*Q)Y%\6.@H;#0L;4-0=-'=0X-C"0=CNV=O7N$I%8LRG& MHSGJ&0WKV2/-H^@9*QPO7U>\:!RETW#WP C)YHI\>M0GAB7N,=K5)!.?B7[J M2AA)TVDL>%",SF4Z.NH%(WB&=:CZ-&PZ(VLGQ>SKL8Y?O;U:'/M+1U%D(:[M)%P M(3<2 J.PT7N6K]MYT80GSB9S82SF<[T/'56,AE5L6@&=8^LJ58+9]/S @XI3 M/!,1;)0S%I:S_9X[PY"Y(I4E.)OVNQX8P1CSF0,K-HH9(\%2Z&8KM-RJJI"Z M_:GO)HWWQ(,%-?&YM=#W&NUTTJ,BLK B7NO'B&^-RC\OT0O\"F,">5NC>U%U M]3O30O-8V"SU"!@.PJ3(M\\Z M$/,ZWA78:8((0DY=='3B>D: 55VKYFG^B9_L()HN&4V6:8S[G^ V2N)E%L6G MCON.)XC,T_U."Z\PYM2!8T' P@7!VZ(H;0$+*< >AKTL&Y2+70DIP4O3T_NF M*7'.%7RXA(/LSM ="P06+A ^2B/@40%!JQM8*G^R !&:_UMV#V*K63]S5_)=1BIV^W8>##NCH M9/>4^%@=L*>TQ.U3DZVK^)Q@'DW[=Q^.\NBH83NE.]8&+%P;.-+5;[\GT^?. MQQ5O?^_#^?K[U=%'0_O%]D^A[\JFA0)K X;X50H.T/N/H/L;HW;]=\1;98RJ M^\NM%$#; N#WC5+F\<9^FCQ\BE[_#U!+ P04 " \:&15C4JMJ?@" D M"@ & 'AL+W=OK8F>V4;I]^QTF:$9IRZ7@ 7\[_Y/=WCK&G M.ZF>= )@R$O*A9XYB3'9C>OJ*(&4ZI[,0.#,1JJ4&NRJK:LS!30N1"EW \\; MNBEEPIE/B[&EFD]E;C@3L%1$YVE*U>\[X'(W"!;1-C!]SY-*-;6(%Y MS)8*>VZ=)68I",VD( HV,^?6OUGXGA44$3\8[/1>FU@K:RF?;.=K/',\2P0< M(F-34/QYA@5P;C,AQZ\JJ5,_TPKWVZ_9/Q?FTVKH?*KDCB@;C=ELHUB;0HUNF+"O<644SC+4F?E""BTYBZF! MF-Q13D4$9&73:=)9Y$J!,&0)BLF8/ J:QPP#NZ2SI'8F <,BRG67?"*/JWO2 MN>J2*\($^9[(7%,1ZZEKD-(^RXTJHKN2*'B': 59C_2]:Q)X0= B7QR7WT.$ M=]%2]!D,*Z#&JS]FK5_E'6)6P#PE<4$ZR9ZNB895>29\AQ( M!U]*+#FG2I,,LCW*T%;[,'^ZOJE=^#OC/"&Q8"&L+X8!A#3S\ M$##^Y6N#.YB)[2GJX4GJ8Q$-ZE%-/3I*O9!IBH? ?Y3YZ*PR/Q75@!_7\.,+ MX"^N\?';T@W;B_RU@] M?T>>=SG]!?5>I3_#0VMDJPEW[PBW]Z=O5&V9T(3#!J5>;X0Y5'DE*3M&9L6I MOI8&[PA%,\%K'"@;@/,;*C/F+9Y)62;'J)+>7< M0Q[>2_+0O'R0Y7>U$4*CQSPKU-5DH_7V8CI5JXW(N7HOMZ(P_UG+,N?:/);W M4[4M!4_JH#R;$L\+ISE/B\GLLGYW4\XNY4YG:2%N2J1V><[+?ZY%)A^N)GCR M].)+>K_1U8OI['++[\6MT-^V-Z5YFAY8DC07A4IE@4JQOII\P!=+$E0!->+/ M5#RHH^^HDG(GY??JX6-R-?&J'HE,K'1%PFBQW@2M M=DK+O TV/RRE ^HK-"&K?I2CWX=;<8K+:I"N=6E^6]JXO1L+@LELS3A6B3H M5IL/4P5:(;E&W..WJ"T M0%\W'8TC._VM]^9];/QD,>J@16O/1/KZ3 MLOB\%26O)KFZ@!+=4/DP5;7L7:@M7XFKB:DM)Q%\5.0*/?!(9U8+5'[&>88%95P?YX7"%80'UR"ENX M,,H(BRVV)0 +_0"'!]B)RN"@,AA4.9=*5_56]JMM"(*CAL/(BV)+K(MBGH35Q42 @-K+H# M4#CV>]:2^* V?F;%5(*7JTTM-C$+2B:WU88&28Z=#L34L]<4%X2]$-M3S461 MF!ZMBXUB%T5I% 2P8NQUQLX;7E-$8>9:5DOFB;&.J=+5W-N#2VE+=CK??<8L MW2",AM:.L !@?LR89RF'8#Z.>I*-CSPM'MXZ,JEVI:AVC]_XEA?H;J<,1,'. M%+N2L%/B ,JS1;N0D$;VNCI(=*J7='K)H-ZO4IM$RQ>MK2W5R9BS@#EZ 5A$ M8V9K=F'85(T]7Y80CL9QU+-OXLZ:XD&G-6N/)>M2YD\#8)PI*)RZZ?'L;6\. MH6+BR'91.,:^H]J%$49BTB.Z\W]XV !^UAM1FB-7V)Y@#($Q#6S3 1(EMD""4WU?AG1?$PV:P3?.=6$LSKUOEFC_VU#A@##WJ MB(:,84AMU8#CBR)B+^( S*0ZZ$MU9PSQL#.\*>4^K7^5,)RP+[^=#B&UX:4 S]5XT,^]UA2/RK88E6TY%MMI M1CJKB(>]XC57Z0J=I05*9);Q4G6).0<3T]!%QQOZ>]L*SF&4LZ] */M8O@11 M+()+D72&D0P;QD6:[:I? 5\NO25\1CJ,LJ6#*$]+-022C'O;L;1+F)(39MFH)= M59/5'/B,-X('9=!2OWJ*CLFV&)5M.1;;:9(ZJTZ>^]WV.$DGAQ0P+X%CK-Z9 M$Y>SB0 P4])VE0(H'(6>4Z,N#F.?V 4Z/;I7RT5Y7U]H*K,][ K=7)\&PO=V]R:W-H965T&ULS5UM;^2V M$?XK@ANT"1#'(JG7],Y LB*1%$@3Y)+V0]$/.EMG;[/>=7;ENTM_?;7K75,D M1T-R=UP? N3LNTK=9W;3_\NKZYV-RON_9Z=]'=XH*G:7%QU\Z79Y>O=G_W MT_KRU>JA7\R7W4_K9/-P=]>N__BV6ZP^O#YC9X>_^'E^<]MO_^+B\M5]>].] MZ?I?[W]:#[]=/+%?=A,_HYV=[+ MV]7JM^TOWU^_/DNW7>H6W56_Y6B'/]YWLVZQV%(-'?E]SWKVU.CVPO'/!W:U MN_OA;MZVFVZV6OQS?MW?OCZKSI+K[EW[L.A_7GWXKMO?4;[ENUHM-KO_)Q_V MV/0LN7K8]*N[_<5##^[FR\<_VX][2XPNX'SB KZ_@%L7B&+B K&_0-@ME!,7 M9/L+,KN%J0OR_06Y=0$3$Q<4^PN*G>T?C;6S=-/V[>6K]>I#LMZB![;M#SMW M[:X>##Q?;H?6FWX]_.M\N*Z_G*V6F]5B?MWVW77RIA_^&,9-OTE6[Y(WM^VZ MNUTMKKOUYB^)_/UAWO^1?/[KLGVXG@_H+Y+SY-IA MTRZO-Z\N^J%G6_Z+JWTOOGWL!9_LQ=W=,,S>]*NKWY)__=#=O>W6_P9H9CC- M-]=#SX;QVBZ2G]KY]?G0J5E[/^^'WQ'2!B?]N>N')W2PCFS7R_GR9H-Q24\' M?YQ]GWS3]^OYVX>^?;OHDGXU='4]F!QC53CK+ZOA#LW++H9A\#06^--8X#N> M;(+GVW;1+J^ZY//!;INM\S=?)&V?--W55XE@7R8\Y2GDVT?6?,>ZG7_*B M+(NR+EY=O!][#VU^.XE^O;EOK[K79\,LN>G6[[NSRS__B17I7R&O49))2C)% M1&;X4#SY4 3Y,,1OCTS%V&^EY3$ 4F7#?R:L<6&BX'7*3)AT8>O!9!@F>S),AAIF/\4\CNMDOMD\#(_T\!?=QVY]-=]TVQEO=;^=/3;) M,(DEJ_ZV6W^9+(>W^_ O^\L^S/O;VVYQG0SO]*1O/R:KMXOY3?MXU>BQ@:R= M.4])5M5Y;ADB8I6Y249,K3?<.IQ9-3"]2INZ7#^7:->9UZ&E?=FYXS!J]N?.\@G*&.L M3PKGIO+"GMH:RA8E)9GR=-_P2?GDDQ+UR<_=_;5_[G:+/,]D M63K=L4PY0YN.G2@IR20EF2(B,_Q7/?FO0OWW]V'&FR\'MX%/#WIM[--#2=94 MSN 1)>/66H2R1>5IT;!^_63]>G>5F+#^C]O7SFXN&U385LN_[Y+%:@.^76I* M7U"2-91DDI),$9$9OF6IEMTI^FRIU;J;WRP'B;\>U-_5'TF_;I>;Q>,[J[W^ MSZ#\MT("G^?)]]^BGS38 LND&;\[[>0='0-#&HMU&R=:0LLD] MV]@?K"ALI^$@TV4Z@L'P$,;,F"X?7UZ/+@.7&3@;?-\)Z XBHH:*2%(1*>:& M=X;E>I%-N$H'*A@>J7AQ0;[OGT^1X[<1_:11LDE2-D7%9@X(':!A+QRA 0F;W7(A>$QEV/D.4X9[1HWZ@ (=-(V)2F;\MV! MZ1H=.&%XY.0$E<[(J31BQ(V1I2 M-DG*IJC83!?K^ ?'XQ_@@GR[KO[NX>VP!+_Z_6&^V=5;^-8)W-7Z52'JVI9: M>'^B/4L:U"!E4U1LIF='A1[>,$F89T%OV8[8CW9@!*XHRM2<[ &=-8!*_ MDX@XQE2?ZHF94 %C)A?72_Z%=/[TU&&A'-_[ RZ*JR\RIFR$-09"R25(V M1<5FNE*'(#@>@AB]]/WNRX#:&-MQ0-%'7E1583\'+DX41<&$_3 ZIREJ;U* M5 "N8B(3;&*L:QW/<1U_=(F8JUVG:L0H-7-#RB9)V105F^E*K?LYKOMC%KA[ M*G2!R]U@ +C !7#@ A? 00M< (8N<+6@YJ<(:OSBZ"4MJ: F99.D;(J[PINS MK)A0WEPK;U[1R1'2T@52MH:439*R*2HVT\5:D7-X]C]V MH2=X*<#%P;L" M@ (#:%N "\,6>F*T8^(H_?ZFNQ]LE4X+0 'J]U0466U;C%2_D[))4C9%Q6:Z M4NMW$:S?_>X+T.\"T.^#>U,[;0S@1"E8[@QU2+^++*_LL0[H=S[,ZA/Z76C] M+H[2[]Y@AP#T.QRKPCL0/=9)]3LIFZ)B,UVI];L(UN]^]P'ZW1GKKI &8U4 M#HQ5 3@P5@7@L%B5T )>X +^Q0O,A*MUJUPPYWU**OY)V20IFZ)B,P>$CA$( M/#O_(@5F^SZ-'SV[1D:XV?_SBMF/G0NR4R5^B/(T91I6*W.!*_-CJKN$FS-W M[.(JT:S.',.X*,1&\9)=6Z MI&R*BLWTI9;$F7\[P'0 8W\Q-IXS5QO;"TD PGC-K$2Y]#,I+Y-I!:TF,TX6 M:,THM]7/2-D:4C9)RJ:HV$P7:T&"JYPM8E\. M%5%#122IB%3F2G*65?74,1E:5V:XKGQQV90!@A"03?AM1+\.2"O+2=D4%9LY M(+2.SEY81X.#H/0OIUQY[.#I$+RZ0&N2\/&.NNG,L*EM>E/=9=G"BKK"CM ML>[BAB6K/?$K %8)5I?EQ%#7,C)_81D)&MJ_(=D/:?P0Z89'5IU_, *,V4LO#\BTF-9@A?=8K9A,"\X6D6FA(FJH MB"05D2H V9BG4V-;B\$"%X,OLD(N_,E&/Z3Q0Z0?HE"(:50MRPIXA L=2O= 9PSSB$J5O&)#':AM6!QRKG5 MA3^#5G@37PT >2#GTCYB$P;: E5A!U?%!MI+(!CBN!((]Z!Z&>=-(%&RJ:H MV,Q#]+42+/$$6DRDL72S9TZDL73366"D$<"!D48 !T4: 1@6:2RUC"J/VJKH MW0!4 EL5X?U;> =BASHIFR1E4U1LIBNUW"N#MRKZW0=L572&NBNQP/U; [< MOP7@P/U;0-^P_5NE5G?E47L5Q_LZ86-!>Q6S(J]M53K#.Q ]UDGW*I*RJ1"; MF&[2TJX,WH?H=TW /L02VH=8Y\M)^!HOT.E.<. M3-=HJ5P^6]JT]&K;&=YX].Q)FC E95-4;*8;M=HO3TF8XA='/TNDNK]TXPUY M:A\,*TG;5+XVS8^E:9U>T65L*]*,+2E;0\HF2=D4%9OI8AUJJ)XM8XLS1WN< M-")!RB8K(!>@; MEE6K=7BB/JH28KP7DX/&@BHAAOX4]F[I&=Z!V'%,RB9)V105F^E*'<6H@RLA M_.X+J(2H@4J(DF>5L,YE4=Y.R25(V54/5_U613GQGIM:*NCY%4>,7 M1[N+5%&3LDE2-E6[RAN;4+7TKI]'>M?!TAOO0+2/2*4W*9L*L8GY->Q4:^_M MSU0+N0,7NI([@+Q+.0@(KN4@(+B8@_J'K>98RD9V.GDW BCB#KRF]P0ORMP. MSGJZ$#ND:>DD+9T*LHOE+3[RUE$;#B8\%*"S#R!3:)GL(8. MYUF9\LP9U8#69FF5363G62I&=CKY&\<3-@.E)11:\G0A?E23"FY:.D5&9WDT M&WDT6)@'>#% F1] WA 3! 1C3! 0##)!0"S*Q-)\9*=/?*?"H8.&EN6\M*TP M\]Q)_ -$JN]IZ109G34PBM' ^ 1W+!PZA>U>/F#,X(>]1ZV!8/9I!0$8Y6W. MLG YLC#]OH$#)VX@H)@^%?8)R1#,-9!_G[NW.4\A^NQH>W__0S",/SW-[:'4"EO%2F*=A( MKJS]08]5, 9@F ",AS#D3N7/6 M00#0LM5(LK+_9WW[H37"1P&7WQ]X$3-Q!0$0W(+P#F&BA MG_J:LPPTTJ?LV4JP#]0!\@OO1/RT0IH3IJ539'263T>2FATMJ6$_^D^3.V!, M7]?"WE\"XH2P,P<2PKF#'N#*N9A<1(T$*CM)H+( @BL"'<3E5-9$;P+T8\_*9VDI5-D=)9'1T*4AV5OP[SH?J')S8IP M5PG"61$ "&=% ""<%0& :%:$CT0H/^JC3>/S"2=L!GVU*1]>Q\X'VCQ=B!_Y MI+NE:>D4&9WET9$VYL'?;@KP8L#'FPX@<^3G9>9,]0!P&/EIZ8Y\:$MSX7SZ M34' BJ?%U'GTC(\$*?_4!2D'TJ?#BM]]?FCU*"F=I*539'36N!CI4?XIZE$> MH$>Y5T0V 1@9@%$XQK+M2(GR9U"B/$"):NG!2U M)D8@5W@3O"XLS M 6A92)SA-Q+]PB"ED[1TBHS.&A6+3#8\&MFG;'@2OFW;G2BY$!&(5C M+-N.A*_ A>]1XDP$Z%;A:DE(G $PUSH!TM77G&6@D7H5S_;AK0-U@#C#.Q$_ MH9!N$*:E4V1TED]'@EN0?G_K0(>/=T"(B]P-ET*XC#LG+T$X=] #7.7DYZ>8 M&,E7<9)\%0'R%6\A:A44)E\!F&NQ*/DJ1O)5G/S%+C@8+Z!MGW!*!>]"_"1! M*U-)Z109G>G1;"13LZ,^W 5[,0O9,IL!6V;!E H A%,J !!.J0#]0U,JV4BB M9L^T938+WS*+=R%ZY)/225HZ%607RULC59P1;IG-0K;, B!XRRP A+?, D!X MRRP !+?,7FQNNZYOVKZ]?'7?WG0_M.N;;2!ET;T;+DR_VGX]9SV_N7WZI5_= M#V8]2]ZN^GYUM_OQMFNON_46,/S[N]6J/_QR,?!_6*U_V[5Q^3]02P,$% M @ /&AD5?L?HH$^!P *Q\ !@ !X;"]W;W)K<5$/5M=M<]NU.I*[DTI:GZCD-Y7 M%5-?WO)2WE_/\.SQP4=QMS/VP7QUU; [?LO-I^9&P=V\[Z40%:^UD#52?'L] M>X,OUS2U#5J+OP2_UR?7R+JRD?*SO?E07,\BJXB7/#>V"P;_#GS-R]+V!#K^ M/78ZZ]]I&YY>/_;^OG4>G-DPS=>R_%L49G<]2V>HX%NV+\U'>?\+/SH4V_YR M6>KV+[H_VD8SE.^UD=6Q,2BH1-W]9P_'@3AI /VX&Y!C S)NL/ TH,<&M'6T M4]:Z]8X9MKI2\AXI:PV]V8MV;-K6X(VH[33>&@6_"FAG5FM9:UF*@AE>H%L# M_V".C$9RB]9,[]![F&>-OO]4LWTAP.8'=($^W;Y#WW_[ _H6B1K]N9-[S>I" M7\T-Z+&]SO/CN]]V[R:>=V?H-UF;G48_U04OSMO/P8_>&?+HS%L2[/"6-Z\1 MC5XA$A'BT+-^?G,Z M83F_GL%"U5P=^&SUW3%/\ TNIBVPC(?WDLLY%R5'= M*[;/[5UNH[Y1\B @)M'F"Y*.6;QT^1>_Y#2^4&=GHY7THY4$I_$=ATYSP;H\ M6Q>(55(9\5_[P.5YUUU\.F=9EN+1S$ZM:$0H=L_LLM>Z#&J]-3+_?&$3>8%@ M&H%NNM/-'^RU,Q"7$R&84AJ/Y#JLXIAF;KEI+S=]8FBW7"G0:MB#.QFDD]=> MI!F)1N(<5MBG+>NU94%M[YE0Z,#*/;?9'U:(#7I8,O92PVI0WOG/)FK&>J<6 M%VF,J5LPC@9X14')'ZH&1'?K6O&RA1BLX[R4>J]:-WYE#:O19J^AI78S*II& M;[H@(P<<5I%'_0EZ<5#]SU!E(0C50NA&:E9:O9!Y(-^8+^VZX__N16.]<^K& MCAC R\58^-3,)YP,PDE0^!]FQY53$YDNFG$:<-@L%I[\C@?4XC!KUSL&P:IM M17*2L+7F$!EV*$O!-J+T)V_\HA!^J=[.!V/ , YS^$V>RWVW)G(N#FQ3.O/@ ML9>S"*)9E(TGS&%&X@3'GCD;H(R#%%M]J \0VU)YRJ)CZ_, 3_"X8'"89;$O MQ <$XC #;Q2'U%(\8J0+(NF-^RG;+J9)VV&%H\B3M?% 0!Q&X(=C_>(C"IZ2 M+%E.M$V-+C AB4?M?/D1G$YM?FXI?J[=SI@94DS,J;O:+15LD)0L[R0 M7]05<[AZV4D%<@GPM;)VK7[7;05L)6Y/V%S4^ MI3BJGP)RG%X=)I!>EPM?"4P&B)(P1,_BJV+J,SXJLSD)[O@(.EL.<P MEV^'W:G6A6X:3?;K'COJ03<].8Q^"MT"UD?#;*J"8KP_YM^V"X>CDH,K3X[Y M%,$7"SP&M=O*@SHZL)H^?;Q\EIRVSUSSU$W?;!(J+CN:$D^500=(TS"D?]IN M>=X6$_PA;T\J$!3L'.7'4PL(G*[* '"T%[:,.@ 4:W>]1%U8SB;T=IAA[ O\ M =TTC&X[#07/51LOXFN5.W;*29R,P>TR6V9IY#DMI@.Y:9C<:Y_85VC#[T1= MVVBR%2U70CJK/>K83L<9&9^:.,P@Y$Z_=YQ[,"":AA$=\(#;DCNH/9U\78DS MFDR2_M1LL4RC\2'=_.2S8\757?LU5J-VP]]]M.N?]E]\W[3?.4?/W^++=??= M=NBF^XS\&U,P*1J2TQ:ZC%XO83Q5]V6VNS&R:3]N;J0QLFHO=YP57%D#^'TK MI7F\L2_HOX^O_@=02P,$% @ /&AD585OY_D)! 2PD !@ !X;"]W M;W)K@2#FKWOWWMWQJ,G&V#M7(WIX M:)1VTZ3VOCW/,E?4V B7FA8U[53&-L+3U*XSUUH493!J5):/1N^S1DB=S"9A M[=K.)J;S2FJ\MN"ZIA'V<8'*;*;).-DNW,AU[7DAFTU:L<8E^MOVVM(L&U!* MV:!VTFBP6$V3^?A\<<+GPX$_)&[T5%@>2F\F$VLV8#E MTX3&@R U6!,YJ3DI2V]I5Y*=G_UN/,(8?H*%<-*!J>#:HD/M!0=MDGGRP2>S MHL=;1+S\.W@_PY71OG;PBRZQ?&Z?$;>!8+XEN,@/ BZQ3>%X= 3Y*,\/X!T/ M@H\#WO$!P0Z\@8]2"UU(H6!)8I$*S;M]>B/%,L7=/_NT'F8SA&Y'!,O]/ONR^EHC=%ITI>234GNTLOD!\U"& MACS])E;N"#[K(H4W846%!4^X%Z9IA7X\@@T>04=J$[Q8JD8S >\=]? M*6CCZ:(_AAA&)4.:V7B'[W9Q([*%">ZD?XR.!GK40K]UD@J&4#7U6[9@KXVX M0T#G91.D,4/AJ$>W/:]:>!!515TT^"4FQG(H1,,!#+&@\^@I+4J*E5322Z2) MQ7O4'8_P@9X0QR,&CR J)+\<2I,<1WRNBH,:&:/L+&=NQR?DD>)NRA3FA>_( MA#"I,SL*2*=*8'%6AM26DM18J*QI&,$]49]R#J#J+*W;IXEC.6Q$\6*GVXK^ M_TIFMOV](4@D>RHVU96[RNKK^/6KLWQ\^L'!7&NF?Q-T 25\6Q:76&"S(A+' MX] -Q_ 15[:CIQ3&9[$_IJ%:N+8#)D?E&<6%4.$*+,-[+T+R7L)RY<4R?.$ MOFBXHJ+,3^.R;IOK:9/7G@Z-ZMPS,>4JM] M?.N&U>%+81X?R-WQ^)EQ)>R:+AXHK,ATE)Z^2\#&ISM.O&G#<[DRGA[?,*SI M:P&PO=V]R:W-H965T&UL?53!6*JJYC"1%M-65+A"_MXNK!^E TNI M&C1.D0&+FUER-;J<3T)^3/BA<.<.8@A.UD3W8?"UG"59$(0:)0<&X3\/>(U: M!R(OXT_/F0Q;!N!A_,Q^$[U[+VOA\)KT3U5R/4O>)U#B1FPU+VGW!7L_YX%/ MDG;Q#;LN=W*>@-PZIJ8'>P6-,MU7[/O_< 8CUX Y#T@C[J[C:+*3X)%,;6T M QNR/5L(HM6(]N*4"8>R8NM7E<=Q\8T8(8>WL$2)AN%*2MH:5J:"A27C8XG^ M#-A-4_;;!5 J>^IY1YV_0/T!;LEP[>"S*;'\%Y]ZF8/6_%GK/#])N,+V#,;9 M&\BS/#_!-QZ\CR/?^(1W!TQPHXPP4@D-*Q;\LM^.;G*<+K3/I6N%Q%GB^\.A M?<"D>/UJ=)%]/"%V,HB=G&(O5JHR:J.D^.^02"NIO(U?=[AGF&N2][^/:3_) M?EQ[7QMW-<(U-:TPCU"J$@RQ?^"8I_2@$!NT56PW!U%M5Y/#[-#15UTA_TWO MKH-;82ME'&C<>&AV]LXWD.U:K!LPM;&LU\2^26)8^UL);4CPZQOR\OM!V&"X MYXHG4$L#!!0 ( #QH9%70YA?S<00 -P* 8 >&PO=V]R:W-H965T M&ULM59+;^,V$/XK W51M(!BZ^5'7-O >C>+W<,&P6;;'HH> M:&EL$9%(E:3BY-]W2,J*O'$,]-"#37+(^>:;XZ[S$FNF1;%#0SDZJFAE:JOU8-PI9X93J:IQ$T71<,RZ"]=+)[M1Z*5M3 M<8%W"G1;UTP];["2AU40!T?!-[XOC16,U\N&[?$>S>_-G:+5N$(U"=P?^X'C0@SE83[92/MC%EV(51)805I@;B\!H>,0/6%46B&C\ MTV$&O4FK.)P?T3\YW\F7+=/X059_\L*4JV >0($[UE;FFSQ\QLZ?B<7+9:7= M/QS\V7060-YJ(^M.F1C47/B1/75Q&"C,HS<4DDXA<;R]( M)C0[<:XZ;2+'A;V4>Z-HEY.>6=]*@Y#"%=Q2 GP1N:P1[E#!!UG7%+3[DBE< MC@U9LN?'>8>Z\:C)&ZC7\%4*4VJX$046I_IC8MC33(XT-\E%P'ML1I!&(211 MDES 2WNW4X>77G!;@Y'PB0LF?\]7#9>3A;.0O=L!Q7 96& M1O6(P?KGG^)I]-L%LEE/-KN$OKYA2G"QU^YBW(W 7]_QR<"FDOG#W^?H7@0\ M3[?+A W3/ =!V45$I@VCK M+:G)G56P>>0 -%!7T(:)@KP9P4=>.:C_WU9H\:EE69CMLX-YT6)%P6V#H!3H M-$W)##63MBJ@)"NP111#.)(6T%"XA*'$J9ZAL)Y0<_F!@=/C6K=DEC2IAQ5M M?HY";Q=MW35,/!-2;UYATZJ\=.QW2M;N7*-DCEAH+[%&*(W1@KG=<^2\E1'< MO;TYC**AW+)QJ]H"NY5L;*"T7E5_Z"V($I(K173-A;:ZGT3P_8"Z5V MSEP[;BK6(76FK5UNK":5Y99\Z)WV2-8OK)M*/N.1S_&( QO9\G!?*1L(?Z 5 MW) 1RB=\!U]2\@F863:!)&US,[G<5IF"373AHG831QTFDZ#Z=Q##>['3T83C)"8]XJ MNF34"[@YS<#7%9&&<1)!/ WGLRG0K4YG,YA>A_$L[1O>?V$]#Y/8LZ9(Q]'$ M29.$EIF31O2;9\/8#6[6!^D=1*,X\\/,#5GBAMF\I_3VF1F<^X*-!R^.&M7> MO:ML#=/U^L='+^V?;N_]B^7EN'_W?65JSRF$%>Y(E2Q. E#^+>471C;N_;*5 MAEY#;EK2\Q.5/4#[.TD5VRVL@?Y!N_X74$L#!!0 ( #QH9%4]0L0FP00 M / * 9 >&PO=V]R:W-H965TYA.59<]$7B,?/- M-^?R9&?L=UKBME':GH]+[^G@\=GF)E7!'ID9--QMC*^%I:[=C5UL415"J MU#B-X]FX$E*/5B?A[-*N3DSCE=1X:<$U527LW3DJLSL=):/^X)O+F='26')]/6#X(_"EQY_;6P)ZLC?G.FX_% MZ2AF0J@P]XP@Z.\&+U I!B(:/SK,T6"2%??7/?K[X#OYLA8.+XSZ2Q:^/!TM M1E#@1C3*?S.[#]CY,V6\W"@7?F'7RDZF(\@;YTW5*1.#2NKV7]QV<=A36,2_ M4$@[A33P;@T%EF^%%ZL3:W9@69K0>!%<#=I$3FI.RI6W="M)SZ^^&(\P@==P MWCBZ<@XN3+666G#,W,G8DPV6'.<=WGF+E_X";PF?C?:E@W>ZP.*A_IBX#033 MGN!Y^B3@%=9'D,41I'&:/H&7#0YG 2][PF$'WL![8+L9" [>0I]=2@I\%:Z7!G76(2_ MK_'6P[DR^?=_#G%_$OTP]ZX@OFKX7>B&^A32- 0_B2![&Q8A%4?PH5D[D"XT M10%2PUGE/-I"5!%\05^B54(7#NB'Q00H&AI2;\$$)E3%NME05S:6#VLE/,\8 M\*7P4%MS(PM*5-L":!WUA2])]75!4XD019YS8"B1 K;*K"F/&CV/ # ;TL=* M-M7/-H3UFK".X+I$0OC12"=#3%&75 Q<&'1!P:Z%OGOQ;)$F\S<.;H1JD"G5 MIA-?WP'>DDQPAU5ZFF1[@VS+180IUJH7Z#"9;V4HI-]S MMZ6X$=)VYLFI8(BZD@)CVU*HA2R HD97'.$]ATI!B4&DL:>H.JB^"S;-",(Y M)$MU8_,R9(ZCJ:182T6J% (2:"HZ;_-*6*1%-.ZYL$C/9]]F06:B-D_L*MZ& M#%G,C2W8CH.M,<5.*M5ZU^_8HJ%.9))!^V=@BZ$^J4%A;;I[YRD&N)5YX+^E MQN+RJ&MC?:-;1RA+3FZUW%"8M5?_F;..^O^MH\$-B^I!H/<\H.QHXQ^5W7V6 M\MPTFI4YFPW-3OL(HZ*>,@6SZJ29BFQUJ>NH?%L'SJXN8!%/H\,C'5Y*SJAI M'#?G*SC;LW#6ED8P:K$XAHO&6@I[7S//(8TFRSE\U%[HK5RKH9IH0,_G,?S6 MAR)=Q-$RG<)7'@.@C-Z^IM%0]>))E&1+N#9>J/ZH-PI9,HVR+(%/CTORGA"U M ;O?+?#30.67$+-H&L_W!.D;CY:9>7'[ #&)9HO% M(Q?W)=+IM//R4(/12$WC)<_*1T%(EY,H25.X$*YLNSS)LF@QF;*X3::AO>6C32N%3;!\EP.CSGSMI7S+UX^Q;\+.Q64JTJW)!J?#2G MUY-MWU?MQILZO&EH'% /AV5)7Q>T+$#W&T.?L6[#!H9'[NI?4$L#!!0 ( M #QH9%6D H1:204 /H+ 9 >&PO=V]R:W-H965TR14*^E)+U3%# M5[6UD MRPW3^$:VWWEEFK-)/H$*:]:WYJM0^X_P1".#*'3>Q#DM'S+#%N<*KD&9:D)S1Z"B9*S%JX,,TAY=]C> 2X^#&=+Z$2O6(EG$ZH1C>H.)XN7 M+X+4?_V,LO%6V?@Y],5/,7H4'7C+==E*W2N$OZ_QWL!%*\O;?PY9\:R479L@ MPM3!R%Z35?H8+BW9?M8VG@ M[V5X^:/GBH#WE!NI]^I@K;@Q* BN/D X32,?CH$Z ]6]H$I5"D7Y $8QH5LV M=)SJ7RI@ETDP#5(O)L6/#ZB.%,U?E8[RR$N2?*<.$1SYLY1Z0-M:\#7Q[ZLX MP#UVE4>X7%6#VVK9*].X\VP_@=B00-*5O:'H[@+(S"'_O\5R? G<2_![1-\T MUGT+WUVOI "TJSZ#9(_>#T@ M/R!3A#H*=\]?T0XL&],]@L<.67/R5DV$E/HM30]] I^9ND7CLGV@.8*"4N$( MIED>'=-_$&=[;X%["X,, G_F0S!+X%**5Z7L5DB@;*G0]1K(_0RF<9Q3AD1) M 7E,A1&E$5WCK("0>%]!0K_A+((K69LUHS(W6#9"MG+Y $'DA6%!>>GY<4!< MF1?D^?8U\?P@IM?<"X-D4"69Y3N@%?G03G@(B3(+2+271A8F#+PX)JFIEX4) M3$,O3&T2A[$7DW*!U8O0(KA6K$+!.NH*4426!(4M#^L+:\TT<-+#.('(>2&" M-VZV47(H',I%-WRE"=$+R%G3PHL+)]]+P]2^A@DY)//RS+G$B\@ID7-*X0 # MN):&FC=_%,,C2$('1N$(?2_)K29'-B<+WT8J(;#('FR)1E$Q?,V\HL@/9$3# M[FROH:)C+757EWDT/6SM;MO*Q_Y&4U$;;CBYHR33N#9C9WJL'SV^?)%':?PZ M"*B^?Z>.;$U3WARB=67V5*>U'V?PCI3IG.)L2>FW'([[U8/WM/-I=.L.M::Q MR[L69W;=_HZU/6X:UX;?&O;81CNO-OQX/XP/4,R.7JYMZZHE>7--Y?5+)]CI M^E-YOQL5W)6QLX^*ST6:+A$D7I;%]A@#)3,E(ATI_:BK.H*4CG$2V7E&RVQM MR$]4+$6Q223<>>F0:[8)=&BLS_?V,4KQI=LZ;2;0=!Q6L^WK=K$]'_:Y'?FP M%5.[H;FFH<6:6/U91GND&C;-X6+DRFUW-])0/;EC0\LY*DM WVM))3KBOQ%G,T:L<8ETO?FP?(I'E@*6:-VTFBP6,ZCJ]%T M,?'^P>&'Q*W;VX//9&7,DS]\+N91X@6APIP\@^!E@]>HE"=B&7]ZSF@(Z8'[ M^QW[;C3;.^SS.?=\N5$N?&';^4[8.6\= MF;H'LX):ZFX5S_U_V -<)J\ TAZ0!MU=H*#R1I#(9M9LP7IO9O.;D&I LSBI M?5&69-DJ&4?95T,(%W *5\XA.;A#50#7&I9"X2PF#N$=X[RG6W1TZ2MT'^#> M:*H0VXEH94BA!'0,,H[A8"5V""LD*$UTA3>P0A2 M&,.$ R*<ZAZ\5Z;U6C789@XR$VK MJ>NXX7:85U==F_YS[X;=O;!KJ1TH+!F:G+T_C\!V Z0[D&E"TZX,\0@(VXIG M+EKOP/;2<)7Z@P\P3/'L+U!+ P04 " \:&1540@RE< # !J" &0 M 'AL+W=ONNO=N'81\4FTZ$RI)/DIMVOWZ4K+HIE@9#X%BBR(YHDIMQ@P\RQ:E'22JUTPRQ-]3HQK496>:-&)'F:3I*& M<1DMYUYVJY=SU5G!)=YJ,%W3,/U\@4)M%U$6O0B^\/7&.D&RG+=LC7=HO[:W MFF;)@%+Q!J7A2H+&>A&=9Z<7(Z?O%;YQW)J=,;A(5DH]N,DOU2)*'2$46%J' MP.CUB),8.KU3"^'_8]KK%)(*R,U8UP9@8-%SV;_84\K!C,$O?,YY]XX\ MRRMFV7*NU1:TTR8T-_"A>FLBQZ7;E#NK:963G5W^IBS"%([@FG$-WYCH$&Z0 MF4XCI=Z:>6+)B]--RH!XT2/F[R">P(V2=F/@LZRP>FN?$+N!8OY"\2(_"'B' M[3$4:0QYFN<'\(HAY,+C%0="-F 57'/)9,F9@#O+[/OQ]G"C_7"N:DY-RTI< M1%06!O4C1LM/'[))>G: [&@@.SJ$OMS9EBMN2J'R&66 :J6=\[[@FG[37*Z+4#+' MNY1]4-,ST]N7BCJ;(6-5DQ_Y0+VD588'M/^X".K0:DZ>N'AV=HV2^!P\0]/9 MCLYRW?CDX)MX:R_3+/5BM!'5PMQ*" M]&V<_T.@]5!(+UOBHZ+"I:I:H1ZJ%ZZP#)+,2[+_I_0CE\13=8928WX:J(6S M]')HWI6_%OJYYW<*ERZ]'Z&8Q+.LH,%1>";C>%),!\'-._F%/(_'HQEI'$%^ MDOOWS;[]AVP:IR<3**;Q*!N1UC2>I#EDL[C(G/F]L@3Y$::3>#1V?H-B3V!: MQ.,BHT'0=])]/279Z?\-ZK6_Y=R1H4+NKX)!.ERDY_W]\:K>W\(4Q9I+ P)K M,DV/I^,(='^S]1.K6G^;K)2EN\D/-_0Q@-HIT'JMJ,S#Q#D8/B^6_P)02P,$ M% @ /&AD57AH:06"! [ H !D !X;"]W;W)K&ULM19K;]LV\*\\]TLWW2C]:&I$"T^-D.:R5UO;7@P&IJRQ8>9< MM2CI9J%TPRR!>CDPK496>:9&#-(X'@\:QF5O-O6X6SV;JI457.*M!K-J&J:? MKU"HS64OZ6T17_BRM@XQF$U;ML0[M _MK29HL)-2\0:EX4J"QL5E[WUR<94Y M>D_PE>/&')S!>3)7ZM$!'ZO+7NP,0H&E=1(8O=9XC4(X063&MTYF;Z?2,1Z> MM])OO._DRYP9O%;B#U[9^K(WZ4&%"[82]HO:_(:=/R,GKU3"^'_8!-HA:2Q7 MQJJF8R:XX3*\V5,7AP.&2?P"0]HQI-[NH,A;^8%9-IMJM0'MJ$F:.WA7/3<9 MQZ5+RIW5=,N)S\Y^5Q9A GWXS/0C6C87"'=8KC2W',UT8$F'HQR4G;RK("]] M05X!GY6TM8%?9(75]_P#LFUG8+HU\"H]*? .VW,8QA&D<9J>D#?<.3ST\H8G M'#9@%=QPR63)F8 [RRQ2H=FC_@9QV7%QKF8&JE;=^B;H#)"H22RPY:HBR?(VA6DI>\92*"4NE6:8JB)U6V1DVM,;=@ M=J5T[O7L86 :H226I=+\;ZR $6K-N' EV*=ITS=,!'F.4B/IJ!R9A07C&M9, MK# (72A!LX7+)83Z#0.&A#H_PMP*(V3)=.7)]AZ_>35)D_R=>=G=9M\8A]8; M4 OJE)8J9T[>;BL4/F#981*/28X1G5%\;:U6AE29MV2+L? @::@*'XI?:9B: M0\0G90PIO7&.?W6.P\/YW?D^ X>6O88DCXHBH4.?GK.LR.!MP&9%3KJVJ?HA M05!$XS@EGK-T5!!'$0VS8="S5&O4TI=A2/XA6SJ*\DGL^/))3GQI1MJ'<(W: M\@5W&?:AJK!5AMN!I9&^!0PD43(I'&^2$"M!^<1EID'M.[-E+84MB4:Q5Q!H MLJ* >V7I^GAJ7L-H',7C=!L 8A^E/@2C+!HE\9$4_<_Y2*-15FS-R>.0CC3* M\N)D.H;QT'F=93X;+BL_D8U=K)S+I&,R^>E4C"E_.?'2B6KF7VGH=[_3L4\I M]D/G;.YCGXZ]MU0D11J'@/G.-=2UVC=B^6($7-^WFKM>%L]TZ]J1YEKE/\,T M9B1\6]$(JSI;'&U);&>?<(T"$DCA6C!C@NMN I#O+W8SG;4+*5DEE>QO06XZ M;:M626]OQ[:?'#1>/ (J/P!]B!VA!\/9T)#:?6[,[G,3QM>1^="P9_]\?_5# ME89Q0[5':"41GI%I9[Y 8T+(T]'0$[ %A6Y/8VNM5LN:3%H'#)6-JZ_\O]HJ MM,^Q[]K@8 .AJEGZ/8N"JE;2AF5DA]VMC M'NBP6P7 JM;O,W-E:3ORQYK64=2.@.X7BHJB YR"W8([^P=02P,$% @ M/&AD53K^R>@$ P :@8 !D !X;"]W;W)K&UL M?57;;MM&$/V5 5,$":":(BG+ET@"++M!\I#"B-WVH>C#BAR)"R]WV9VA9??K M.[ND:;=0],*]S3ES9G=FN-@[_T U(L-38RPMDYJYO4Q3*FML%)VX%JV<;)UO M%,O2[U)J/:HJ@AJ3YM/I/&V4MLEJ$?=N_6KA.C;:XJT'ZII&^>@R -_.7]@_Q]@EEHTB MO';F#UUQO4S.$ZAPJSK#W]W^"P[QG :^TAF*7]CWML4L@;(C=LT %@6-MOVH MGH9[> ,XG_X D ^ /.KN'465-XK5:N'='GRP%K8PB:%&M(C3-CS*'7LYU8+C MU:^.$2[@9_AJ']&R\\^+E(4WG*;EP+'N.?(?<%S -V>Y)OC%5EC]%Y^*GE%4 M_B)JG1\EO,/V!(KI!/)IGA_A*\8@B\A7' F2@!U\UE;94BL#=ZP8);F8#L7; MT\T.TX4ZN:16E;A,I! (_2,FJ_?OLOGTTQ&QLU'L[!C[:GP(N-%4&D>=1_CS M'I\8UL:5#W\=$GR4\K#@X>5?W95.2HV8H/5:"E2;9W!;\&HO^<;HY=9H OM: MES4HD>2Q=%[>&Q0#UPA2WN@#HG3$H&P%5GJ*- JC_U$;@_"H3(?0D;:["" 6 M(^6K'M @UZX:';2M=T\Z.";8:B\&_?=>@->N:95]?O_N/,_./A'H_X<@HD1' M\+%U1G0%CXI>]JI(JFVE2YE5ER#I)KFP$?4AYVZP'!;9!#YH*QC7D4BECS$? MPR>#>\>21:^>?X)L-KDX+<*DF,S.9G 5/$NV!1%R+QMR!JG$L/&A*.;P48:L MD&%\@4F\,5&I1FBDG6=G/6TVS^!0AJ5OZK]!OXM=CN0V.LM]*QAWQT9ZU?>/ M5_.^"W]3?JPF&\?2F^*TEI\!^F @YULG>34L M@H/Q][+Z%U!+ P04 " \:&15(:NO>64& !N$0 &0 'AL+W=O'_]SE"RHS2R6W07A0%*O&:^N3Z*/EE+==<6G&NXK\JZ M/9T46C>OI],V*WC%6ELVO,:9N505T]A5BVG;*,YRLZDJIY[C1-.*B7IR=F+& M9NKL1"YU*6H^4] NJXJIS04OY?ITXDZV ]=B46@:F)Z=-&S!;[C^U,P4]J8[ M*;FH>-T*68/B\]/)N?OZ(J#U9L%GP=?MX!W(DELI[ZCS6WXZ<0@0+WFF20+# MQXJ_Y65)@A#&W[W,R4XE;1R^;Z5?&=O1EEO6\K>R_")R79Q.D@GD?,Z6I;Z6 MZU]Y;T](\C)9MJ:%=;0+5LMJWXS(JA$W3W9?>^'P8;$V;/!ZS=X!G>G MR*!\QS0[.U%R#8I6HS1Z,:::W0A.U!24&ZUP5N ^??9!:@ZN \=PHV5V=TP6 MYO!65ACUEI'C3J8:]=#J:=;+O.AD>GMDIO!>UKIHX;+.>?YX_Q3Q[4!Z6Y 7 MWD&!-[RQP7:8[+I=LS>3EPP M+H[JYG7;L(R?3K P6JY6?'+VXID;.6\.@ UV8(-#TL]N"J;X\86)RXQM"".< M*\7JA<$+?W[D]QHN2HS>7V/8#TH?Q[Y-BD\8/P6ZX"8A6+UY\2SQW/A-BX%P MO:ZYXK=JB>4,GM_%QX;?E^4&DJ[7M5USOEQ@0H.7;A=^D$^W/UUEU'PUN@7@ M#1O-:RR-3=>AEUIJN*R:4FXX[_(;9DN5%>A+F)6LAH_[3&O%/;Q'"6Z((%>\ MND4_N*$%>!G6))EZ5AISJ'YZ'M M[ :0;XWG=:$(/&]TAV);!M2X4&,X]TU:O'X,YRNND,F_TGMYSU4FR.5*9'PW MC"=$J]%L$L\TO.-9+]>U.ML\W[?\)(#GD,9VG, OF/.H!EPWL0(_@""QO6 G M/8>7ON6Z ;Q"9':8 )+VG MM)A(K^/02I(0H<6I[:9;$,:EXSM8BS6E0Y![73H,C//I\.W".P+$3 MAWJN[7I'II0S\DTIYAQ>;CA3[2N(;"_LFMW\2I9H0DG%$H1V&I*((+(=_XCZ M7D+=T/;#@"ESF0[B,X;\D)(R9<(U[T&FWL"FLPT!4M6S.5MX#G M!+3FM&BYUB5.;R=0E>HW&1>7K,%Z1!]@&#> !-=QS0K7D.L;KH3,+5@7(BM M#+.2]9,P5[+JR6DT+0\PC7J"_S^QC>$%>$,RC&;R1'\P3L_Y8=0S\<2(^G[AK-#S>R$C\UZ1':8?20 M'J$5I3&D$1TI8]EQC+^A#OP>P6\Y,SQ,$RN,Z+'$5.E/$3:E \_E;'C:,C8WEZF]FS\1#C&1Q)WS1AAA[YM^!J? M*#9TC=0?I.EO?F@^#0-^;^.%8SP,>#LA-J[(:EKP^"BGDPGNMZQL:K) MH4Y$GD=V.Z:QIP&HC!8Z*QVG:T;/RIC8T[@^P$,XQ-.7NA'6DO^M&(S=JJ:# M.W#%D;7HIM_BU_>RUMUU>#>Z^S/AO+M#/RSO_HEXCZ0GJ%[Y'+)66MDE7=J19*GZ2AI&9?1?.KG[O1\JCHKN,0[#:9K6Z:_+%"H MS2S*HNW$/:\;ZR:2^73-:GQ ^\OZ3M,HV:%4O$5IN)*@<36+KK++1>'V^PV_ M\)K%,(!$8V_>LQH%](Y[MM;]!N? M.^6R9 :OE?B-5[:919,(*ERQ3MA[M?D1^WR&#J]4PO@G;,+>X2B"LC-6M;TS M,6BY#/_LN:_#GL,D?<4A[QURSSL$\BP_,,OF4ZTVH-UN0G.&3]5[$SDNW:$\ M6$VKG/SL_%99A"R#]W!5EEW;"6:Q@I]M@QJN54L'W;@3>$+X*$O5(IS]I(QY M-TTL!7<02=D'6H1 ^2N!+N"3DK8Q\(.LL#KT3XCTCGF^9;[(3P(^X/H9KG)_ &NTH,/-[@1"4,6 4W7#)9'WS_AL82%4^?C'L0Q.QCB>P58O02'E@4)XKQ#A% +))-@[V M("[RE,R;KSVJMU6P1'?NU+X/%4J'F:5Q/G&!SX9Q?C%Q1CZ)Q^/"6;2898Y* M4++9 Z!:K;1JWSPZ%Y_:6OC=DIY"-O9]7Y*WC_LK*=[^:ZW^I_H-)YY0,?1D MXF(P(&.<_[\5>XW4GCQ15H?"+,9QFA>]&DF"PTFPC\X?ZYW)WO77HJ[])>^Z M#]4AW(2[V=UWQ%6X/E^VAX^03TS7[O@$KL@U/1\/(]#A8@\#J];^,ETJ2U>S M-QOZ%D+M-M#Z2E&#[ &PO=V]R:W-H965TE8K2RY$MVD^_6CY,3-@"2[V/H@GQXI\FFR M-/;158@$JUII-XTJHN8LCEU>82W:.C+UVID9U%)W?[%:YV'+X339XY"N'=+ NSLH ML+P4)+*)-4NPWIK1_""$&KR9G-3^4N[(\JYD/\J^&4(8IO >KG1N:H1[L4(W MB8FQO46,TXF9P M:)\QRMZ]&9XDGPZ0'?=DQX?0L]>[@$OI.*8*9,_OA[%^.#F+L9 M;Z[_OD*X,'4C] M(QRTZ?^"V\>F2'15B*E)#S<4N&X7PT%KI"AE:RX'0!1!# MM [!E(".)#<,YYNQ+#ZUTF+AP0HDM%S%&*P;:YYEZ&X6EZV#T V 6R[84&41 M@8N!;VJ.MJ\(_QF"]E![-H_V^_X'U-!>X$,'!D>?2"Q+#&*SG3S+^0AQ^JCV MP6Q?0R4*:+7%W"RT_./SQRASU%A*\H5,@F]X 6_'@V,6!J6"QCF?_AW EYBO M5X9''=E=51IOZ4B-=A'4TD%N6DV=I/2KO2"?=SKT:MZI^;6P"\F5H;!DUV3P M@?7/=@K93<@T097FAECCPK#B1P6M-^#]TG!IKB?^@/Z9ROX"4$L#!!0 ( M #QH9%4*D9OJ @8 #H. 9 >&PO=V]R:W-H965T:S72KEZ&[5=O9LLG1N_7(ZM=52K:0]T6O5 M86>NS4HZ?)K%U*Z-DK476K73* BRZ4HVW>3\U*]]-.>GNG=MTZF/AFR_6DES M?Z%:O3F;A)/MPJ=FL72\,#T_7OP MY47"_)[AET9M[!Y-',E,Z\_\<5V?30)V2+6JC4*PX-5TPW_\F[,PYY $3PB$(T"D?=[,.2]O)).GI\:O2'#W-#& MA _52\.YIN.BW#J#W09R[OR]=HK"F([I5BV0;$>?U%H;UW2+TZF# 6:;5J.R MBT%9](BRDFYTYY:6WG2UJK^6G\*QG7?1UKN+Z$F%MVI]0G$@* JBZ E]\2[: MV.N+GXC6DM/TMNED5S6RI5LGG>+ [:%X!W7)874\,"_M6E;J;(*)L,I\49/S M[YZ%6?#J"6>3G;/)4]K/ORD(736V:K7MC:+??E)WCBY:77W^_9#C3ZH^[/BV M%7Y:*KK4J[7L[K][5D1A_LIB_-@'.6L5V<$M2Q)N\$#4A.ER$&HZITR'G)J= MQSUOS^[]]M]U7BX;-:3+IPWS>5,H(VBPU-=;+5)X'$&2DUU>KJO%X ML)*?E:&CRP]7-R\$5U1:JZS=8P7A,:NK%,FN]A([>7@_ T1Y&[)%%J7'"#V' M[U;WIE+V9$R$02QH$?JY&QD1$>O[42(:XN^%-O<(OFK[&MW5Z>[X0+H$/*0- MT(?_.>?25$NOJ%9?@(UK7VO^7J@.,;2>EC5FOK&.8T***FU9DUM*MY]2JK4W M[.B:2U"-JY#JK/3H9VEM&J!NT][#>,OQ(&?-P-TA7S#.)ADC&W?O;2\E+,Z4 MZDBU#=S81\E.WFW91D\]0.+4@)@D>_>L+;[XV$/V<+!,PAC,M "GO2!*>NV MBC07RB[1KBWWPY;I"UC&XFR6#9<#D7$:/Z$D7:]&MH/NSNX/# 6[Z9/AED9! M%?(*7%T#8&;HUBV0\4^([##+/F#^C?4]2S^Q?]3PV.G>PDO[8D_S S7&\1+- MVW"R/-A9>DYE(E52*/ :2:.?18$@FC$%5[DV$42KB) (5 MYY'(2UZ+LT2D8?:?).9Z*.K1._3,BZ&V'W:U_39=\#8J8R9BD>0IB#P699$P M$2$1Q3971[%(BY!>T!&6HYB)7*1!"8*S6/XCGAR%JR'8 MS/.N1'W2?+3P[L'"ZR$J+F IBC3SS1V@\[+]4^Y[^W"N &KXB%5^B@<+L]ZB MX:Q';=SU%$/"WCFC[G!!9N#!X?$\/(EP2VM;?^%$49]G)\ENH>X-"_PC/HAQ M^]N=D\=$3G:0!5Q:&UWWE2,^]?^WB'3=_3%>S&]T6W->GE,"5$H8E=)<9 4W M !!'9'[R0AZT,*++]Y=T(W$OZ%@&DY$4)24QAJ:@, E%@6%CG"G3F.(K^HB4 M^S)A @H,9%A@0$MNH00"*::X3.C6/W]N%'&PO=V]R M:W-H965TE'4R%:>&[J MUBR#RMIN'D6FJ+ 1YEIUV-+)3NE&6!+U/C*=1E%ZIZ:.>!QG42-D&ZP67G>O M5PMUL+5L\5Z#.32-T+_66*OC,F#!B^*[W%?6*:+5HA-[W*#]L[O7)$5CE%(V MV!JI6M"X6P:?V7R=.GMO\)?$HSGAP56R5>K1"5_+91 [0%AC85T$0>0);["N M72""\<\0,QA3.L=3_B7Z[[YVJF4K#-ZH^F]9VFH93 ,H<2<.M?VNCG_@4,_$ MQ2M4;?P_''O;;!9 <3!6-8,S(6ADVU/Q//3AQ&$:O^' !P?N)/,HOPHK5 M0JLC:&=-T1SC2_7>!$ZV;B@;J^E4DI]=W2F+D, 5W-$%^-H6JD&X1PTWJFFH M:9M*:(0/#V);H_FXB"RE=(Y1,81?]^'Y&^%G\$VUMC)PVY98OO:/".J(E[_@ M7?.+ 3?874,2A\!CSB_$2\;Z$Q\ON5"_@;Z^<^7UWNEY;_=BYJ83!2X#>A(& M]1,&J_>_L2S^= %;.F)++T5?;>@%EH<:0>W@5NA6MGOCA^.G$L):&%F :$OX M(NN#Q1)^^$+@ 9\MK&M5//X\5]/%K.=K>J@TXJM9PAWYO=;0;"PV6P+H!O1: M^B!;L)4Z&()K0L#G@H[!^.OE*NC(;I :=6BM^>@G[/[8">=NJ>QOZ3M(PMF$ M$4W#:3(AREB8Q0DQG(5IQH?^7,'1/TTLK\03:MHT?2(#M*.,I>34USGP/)S$ MDS">Y8[-61)R/O-:QL-XXK59,@TSQN!VMZ.EXL92NL;36@&#Q4%+*]',X;;I M:O6+^D6OMW@$U;G]8WR9RE:N(2'C,; LG.89L#C,\ARR6W=V.WYT*1W$%^SM">Y)RGW))^.D-ZVR>'<;8]. MME*#>N]WKX'"C;=?4*-V7.^?^ZWVGWG_;?@F]%Y2"VO&PO=V]R:W-H965TZ"E:XL(1:HD5:?[]2,I6;41Q]C+ M7B3R?AR>SK92/>D*T!Y4QS644Z:+"FNH+V:"PGK54-35VJC:1 M;A32TB?5/")QG$AY<)9?+D8OW 7\RW.J],3@E*RF? MW.2FG >Q(X0<"^,0J/U]QVODW %9&M]ZS&!8TB7NCW?HOWOM5LN*:KR6_"]6 MFFH>3 (H<4U;;N[E]@/V>CS!0G+MO[#M8^, BE8;6??)ED'-1/>GSWT=_DL" MZ1.(Y]TMY%F^HX8N9DIN0;EHB^8&7JK/MN28<)OR8)3U,IMG%I^D0TGH1R%^=2-[3 >6!OAD;U'8/%K[\D>?S;":+90#3SZ.F)+=+0;<0Q M;MG_P&TT,0&FDJVV*^OSCHAFOB7T MW&C/[1*N6Z4LL]]AR.QS'\(66Y99P#F<3AE(S@ MLZE0 9=B\]:@JG?A29BD4WB4AO*=B0['+QF%:9H<%(5V1?E)J+!WB8E-/]2L M1.5O*(S#>)H.87P/8Q3F>0X?!RJO0N3A*![O!=J>ALHQ,_3Y #$)\\GDA<3] M"#(:]2KY2S5 DI#$4_B$YD41R#0+$T+@FNH*&LI*2-(TG&3CSC+$G>5AEF9P M[D$*YSK4DI!QF"4IO+?QY@QJQ+M==T:U<:_+=I"M,)T#7BP#L_75=>U?X9W;]\M51MFVRW'M4V-+\;V MG*ON/>DF1C:^AZ^DL2^"'U;V"4;E JQ_+6V3Z"=N@>%17_P+4$L#!!0 ( M #QH9%7!IFA9I00 !H+ 9 >&PO=V]R:W-H965T>Z.VF;(PS*8M%W(T._.R:ST[4YUMA,1K#:9K6ZZ?+K%1 MZ_-1--H*;L1B:9U@.CM;\07>HOV\NM:TFPXHM6A1&J$D:)R?CRZBT\O,Z7N% M/P2NSJ/5[W)PG=7B5:HS_A?5&-QQ!U1FK MVHTQ,6B%[/_YXR8.+S%@&P/F>?>./,O7W/+9F59KT$Z;T-S"']5;$SDA75)N MK::O@NSL[$I9A!1.X)U2]5HT#7!9P^]VB1H^2,OE0MPW"!?&H#4PON.T,\=G M4TN^'<*TVOBY[/VP__!3PB/%BX;53W\M8_V0>#]M,="@EVJSE E MF&.X(IOOD@<4>HOM/57(-OYPR1LN*P1N'$>J'KC'A9!2R,56L$(M5 U'D(1A MD$7A3L557SNA";CNM#/8T=ZIR[46UJ(DN/D>Q7$6AW ,U*G4AY(Z1VN4U1-8 MS:5I>'\#U']30]&-XBHYRH*$B!_OH8[4 3^2CHLX2-,"#F0S';*9OCB;;X44 M%D\^TLU4[^FWE^7XH+O].=Z3PM=8;221ET3PV>"\:^"+O]F(W\4WU'11PP\% M\DXK8^"BJKJVHT@[Q59I*_[IHWY%+\L+5#Z*>8_\A%P3ZL:Y%]^@>UY8P3I*"ZB=.2R@2!N,XBVF;Y"4PLCV! ME'[9)(9;-;=KKA$L5DNI&K5X@B@.&"NI:H,PB<@J#Z*B&*1I$$8)28N 16E/ M)9T4ST KBJ%[CX&19AZ1ZR"+'0R+@B0AKUF0LQ3&+&"9*W&6! F1BQPO0HOA M3O,:)6_IQHMC.DE4NN9QL7"G&4?>.TM2B'T48GCE7R(J#HU],YFE6!E"#"(* MUK@,DM+[#S*6.2E+*2!Y4.0^)$%,08E]4$H/&,&=LKP!\5,.CR!E'HS2P<(@ M+1R3(U>39>@RE1)8[!:N@>.X[+_F05D>[,ULZ,WL?^K- -YVMJ-D?%?);QYI M6C+XPL8]R.5%E_,;8T7[[,*U14"S^5&:A4 M)VT_N@S28?"[Z.>=9_5^:J0&IW?&0(-S,@TG.5V&NI_$^HU5*S_]W"M+%>R7 M2QI>43L%^CY7]/!O-L[!, [/_@502P,$% @ /&AD56Z^/!+' @ "08 M !D !X;"]W;W)K&UL?51M3]LP$/XKIPQ-3 KD MK4U+UT:B,+1)8T+ V(=I']SDVE@D=F8[%/[]SDX(G53ZH;5]N>?Q/7>^FV^E M>M0EHH'GNA)ZX97&-+,@T'F)-=.GLD%!7]92UN&=1[/ER/H[AP>.6[VS!ZMD)>6C/7PK%EYH \(*(%598DHC+\]IS=<:8&[^U?V*Z>=M*R8Q@M9_>*%*1?>U(,"UZRMS*W< M?L5>S]CRY;+2[A^VG6^:>I"WVLBZ!U,$-1?=RI[[/.P IN$[@+@'Q"[N[B(7 MY24S+)LKN05EO8G-;IQ4AZ;@N+!%N3.*OG+"F>R'- @3.($KQA4\L*I%N$:F M6X64>J/A^)ZM*M2?YH&AZRPHR'OJ94<=OT-]!M=2F%+#%U%@\3\^H#"'6./7 M6)?Q0<([;$XA"7V(PS@^P)<,VA/'EQS0KJ'3MT]>AQ[M1]MNF>F&Y;CPJ!TT MJB?TLH\?HC3\?""VT1#;Z!![]E8.'\ZU1JI$7Y8"Z#'?8MXJQ<4&EDQS#;^= M"KC'9P/+2N:/?_8).GCE?D&4+C$O+=$SA+!,1=@2MEJ)@K]";[C M$U80]6OE_Z=A/D\E@H/>%+]0- MZI&F5]V:EBC6K2@@COWQ:$H>)Q"?Q6Z]=EXN2]HFCQM.Q8\F?GB60C+Q1]&( MO"9^&L803?TDLO![:8CR"":I/QK;>WO'+H!)XH^3B#:]O[7N*WVPTYXUJHT; M0AIRV0K3=>I@'>;<>=?>;^[=D"05&RXT5+@F:'@Z&7N@NL'3'8QL7+.OI*'1 MX;8ES6I4UH&^KR4]^OY@+QBF?_8/4$L#!!0 ( #QH9%46H.S'V , /H) M 9 >&PO=V]R:W-H965T,4T *2<]%:JKHD)P^5'U8[ %6L;WN[CHD_?6=78/#:1.7/E0(V)V=;Z[? M7J8[(1_5%E'#"=!M57%Y,L"2[&;.8%S$'SAFZTV F\^;=@& MEZ@?FCM),Z^W4O *:\5%#1+7,^.; M@+#$7!L+C/Z>\!K+TABB,/[8VW1ZEP9X/#Y8_V!SIUQ63.&U*'_EA=[.G(D# M!:Y96^HO8O<)]_DDQEXN2F5_8=?IIN0Q;Y46U1Y,\XK7W3][WM?A"##QWP&$ M>T!HX^XFZ8LM:153C@]_T5HA F,X);) M1]1L52(L,6\EUQP5G-T;B3J?>IJ<&8B7[PTO.L/A.X8SN!6UWBKXJ2ZP^!;O M49!]I.$ATD4X:'")S05$O@NA'X8#]J(^\\C:BP8R5]#E]U9Z'3I^&VWVRJ5J M6(XSAS:#0OF$SOR'[X*Q_^- ;'$?6SQD?7Z#*WW4!A>NGA@O3:@CVH>C):,N M_69#AWM\UK H1?[X^UM9#/IY.PLJM,9JA;*O-ISQ&O16M(K5A3J':Z$T/-1T M")3\3RS@(VU^=2SX62A%Q?W N(2OK&P1'BZ6%U"U-<]YPTI0KQ3['H+4S;* M!B/ZGL59#.>=-,Y2\B4;(1FQM#!%.0)F[M@/"7,6)ADA,C>*H\[/1CRAK.GH MT$ '2YV_',/"Q$TGOL&EDY1P84S>([A&J?F:Y\RP0JS)6R,4UYZF(^@P41"X MP20SV" @*,W2"45852AS3FDUK*&R!6[B6P>=3IQE<"\T+5>O>^R; B1CUQ^' MAP(0/ EM"9+830(?!@B5](1*_ANA/F%9C+08W3)M9"\GTFG0R]MTNL%\SZ; MLBGXO]D4NDF<'8J9^AV90C=.LT$R17YD>A;'EDN&4R=PJ>^T:1CYF$Q.)M*8 MV)<2ED;$^'^0:+3_##,G).9$)MG4,B< MP77)E*+,J".K%PJXUI+NU):BZTET8TI[&I,&_9YR,/V-1?:"G:XI<<92J- ZVM!]]Q^8ASTS[WY7U!+ P04 " \:&15;1E*-'4" M !H!0 &0 'AL+W=ORAZH*6U180B59*RD[_ODE(4%W!\$;GDSG"& MU.YTJ_23J1 M/-="FEE06=MAZ;1R$H/JD68 M1-$DK!F703[U:_8W2<"5!XVH67,87\\SE^X2?'+=F9P[.R5*I)Q?5DR@U=*_.*EK6;!60 EKE@K M[(/:?L/>S]CQ%4H8_X5MESN. BA:8U7=@TE!S64WLN?^'G8 9^\!DAZ0>-W= M05[E-;,LGVJU!>VRB7*0<('- M":31")(H20[PI8/;U/.E!]P:Z/SML]>AL_UH5Q\7IF$%S@(J (-Z@T'^Z4,\ MB;X,1G"W.ABJ<_^PPDX M -W5=1=8U?A:6BI+E>FG%;5"U"Z!]E>*_K ^< <,S37_!U!+ P04 " \ M:&15>@F-BN$$ J#P &0 'AL+W=OX^M V27AX6^\!(M"U$$EV2CI._WR'E MJ ZJ"FG:PH#$VPS/Z,P9FL=;I6_,2DH+=TW=FI/)RMKUT6QFBI5LA"%J+5N< M62C="(M=O9R9M9:B]$9-/>.4)K-&5.UD?NS'+O3\6&UL7;7R0H/9-(W0]V>R M5MN3"9L\#%Q6RY5U [/Y\5HLY96T']87&GNSWDM9-;(UE6I!R\7)Y)0=G>5N MO5_PL9);L]<&%\FU4C>N\T]Y,J$.D*QE89T'@:];>2[KVCE"&)]W/B?]ELYP MO_W@_;6/'6.Y%D:>J_I35=K5R22;0"D78E/;2[7]6^[BB9V_0M7&/V&[6TLG M4&R,511OA16S(^UVH)VJ]&;:_A0O36" MJUI'RI75.%NAG9V_558"HS"%*ZN*FZF+L(1SU2#K1O@/]^*]N*ZE.3R>6=S0 MF+7] >\9''5[)-8&0!L IYR/^ MPC[ZT/L+1Z(WT,4W%%YG'0U;.[TWEGX:Q& M-O\;BFETU^&8/OG25U41L*%K@K9#V,-,%:T9=4N M05AX*0O97$L-(?,$,N!A&(19!+]#GI(T@[\P.MP&&,N"*(P@R@B/>N\EO @# MQB(XQ!0@<08HRX6LK)_(@H1E.),SPE,T65?:CTRFT.82$\+A[ M]/.WJL:@:Z>#*"9Y[%Q$":'A@>OSS'5C$L9[+DN432G;$NXK69?@]CX8HRWI M:4M^3+F7&#HJQ6'HN,-4_'KP0UO9[U;W*+*GJMOK$%XZ;O90O1:5]LGU(/\+ M9-C'NK_*= $-R3V,PB#-."J$,4;2O-=[R'C 4PH1)S3NG?FTK<7:*Y]Q&B0T M024S&I$\?R3^/(@RZJ<2DD2#: 9R,LKC($\2A)/DF#!CS*<]\^F3!?M6M;<( MQ.6 U/[?4UL\9(6CUGPOM:-;/X/:/5ACW.XO&R&7)4$6YI[;F,3)%V[C(,E3 MR!-7?X>HG>)O?X]BY83BA_8,@AKB. MR/"D0%&PO=V]R:W-H965TCE7O15KPJWW"W[E MN#,'-KA,UDH]N<''>A&ECA *K*Q#8/1ZQEL4P@$1C;\&S&@?TCD>VJ_H/_C< M*9)42QC]A%]9.)Q%4O;&J'9R) M0+.708<#AS)]QR$?''+/.P3R++]CEBWG6NU N]6$Y@R?JO&CK%2+,/I)&7,! MHT>V%F@NYHDE%@XKJ8:(JQ Q?R?B%7Q2TC8&OI46U 8ZU%S5 M\#6,QM,X*Z[@PMEEG&638&;3N,QFP1['19Z22:5)A2>I5+1&67T!JYDT=(I] MR==_4@51"[%F.-+5D7Y\T$]X_=9(/0ZITU2"&<,WO/(HA@*G<5ZZP*-)G%^5 MSLC+>#8KG$4?L\Q1N6E5[R*] 9!6&ZU::CUOI:5.\'#QJ0+#[XXZ<5SS/U?4G38O:3F+?C?Q&5+3=L$""IE(,6X?,97Q6@G#1(3;CG^-_TFI2=4 M3#R9N!B/R9CE_Z]B[Y$Z.)XHZ^.#6&PO=V]R:W-H965T:P]'(3I>JDO9 -ZK&+W-M*NEP:!8C MVQ@E9T&I*DGRUV+FEL>#? S-9>KTMWH]4^JS8=[>U-=VO"$]69MAAZG*^MTU2KC MN"KJS5L^M?OP0B&/WE!@K0(+<6\ >W:H&;[>!&-=JXHE[ \$[>E\KN'XT<>O+K1]/6ZNG& M*GO#JH")KMW2PD4]4[/7^B.,L N3;<,\9;T&;U5S '%$@$6,]=B+N[3C8"_N M2=O")K]=Z6VTD]W:GBB'MI%3=3Q )EAE'M5@_/UW-(U^Z(DMZ6)+^JR//]13 M72F8&UW!QT89Z[I5'J%898'HU3U;TR 88KM-+W?5C4X)9Z964]L_L!-?^@+Z0VS>&EMKCB MBVP/X5-=.&_628_4'C!.F(B]$),DXRAD,1%YX@5&&,_A8F6P5\$P)CRGL ]# MG&:Q%S+"(X$")4DJX$P;K' TBSYDB=LFO2,,%'Z6C:QA2#E)>>(5:4)BQKV4 M9"BE04I)$ONY.^UD"6^@M0MI=):\A/U?3=D![\-]L6ND#+T/@,@2^ ^\( M-R[U.#/$(XOH%E].21JGP 6)\[R%C&(!<, *X5GKX?+90[LUOH0$R7GJI3PB M<9+V89!V&*2]&)P75BX61BT"\*#GV$ ?5;U27[GOO=;_.W:V21QB??_1'J 3 M7<[\L; '24Y$$J' ,Y+F'B/*D3.!GM2SD3(XNSJ#B9PNB]KK('V27$ 2([-R MH DE.3*2,DH$CR$^AVM3U.'009KDR%J:(XN%1SE!!8Y4%PGHW]S3,H[T+-O^E\ MS/^%V$07F^C=QBVRH>5>/#EEL(W#6;@K*?,M/;#7[_^ BU_V2($\S#P/:101 M&DX9)CA*-/2XE'"6;-LF\X=? HP1Y"JDR*N$0IICRQ3/333/($8J18#S3( @ M61S_@WP9O;BG(E2+:X=U$<0E_K0HXQ?@][G&$F\'WD'W&S3^"U!+ P04 M " \:&15?.Z*I?8# Q$@ &0 'AL+W=O[MA]-]<& 2K#4V M9YLDE>['KPV$#2%%88\O"38SS^-Y9ABPQSLNOLD00*%]1)F<6*%2\9UM2S^$ M",L;'@/3=]9<1%CIH=C8,A: @]0IHG;'<09VA FSIN-T[EE,QSQ1E#!X%D@F M483%ZP-0OIM8KG68>"&;4)D)>SJ.\0:6H+[$ST*/[ (E(!$P23A# M83Z]Z] MF[NI0VKQ%X&=/+I&)I05Y]_,X(]@8CEF14#!5P8"Z[\MS(!2@Z37\6\.:A6< MQO'X^H#^F :O@UEA"3-.OY) A1-K:*$ UCBAZH7O?H<\H+[!\SF5Z2_:Y;:. MA?Q$*A[ESGH%$6'9/][G0APY:)SS#IW VGY._9!1=]Z@[J(%9RJ4:,X"",[X>_7^HQI_6\M0:-$Y:/'0J05<0GR# MNLX5ZCB=SIGUS"YW=\^%\__8YS_-7A*C6Q1&-\7KO8'G$1ESB2GZ*'@27Z&G M&(2N";9!\[WN4A+.)3R#'*20ID5MIZX[ZHWM[;&*52.G;.%5+0;=X;!L-*^# M*47<*R+NU4;\D?-@1RB]0E\%40H8>EJOST59"V,Z^YV,L0\3*S:/DMB"-?WU M%W?@_':NIMH$\S*P?DFX$W'G+1&6).X7$O<;%54VAL#TG=4K6@!F$CVI$ 12 M(69HB2E<(=VCC*6OGW;"$FV=UR+7QG\O(%J!^ ?]AQ:8)6O]XDF$J=)'[!-* MU*MI4I]PK,$.IN=26KOLIBEM$\QK$VS>$E@I]X,B]X/V&\J@4M"N_@0Z:2BU MO$WUKC(.>J>,\Y882SK>%CK>-M)Q'L64OP*@)6RUHLR'"[6]K6I;D;9V*4VE MK1)VNA5I6V(L23LLI!TVDM:\!^ ZX#MF&M0CV>O>=#YYZG*8JMXKFY6BEAEW1N2W*LM!'>RRWV:LO_<*942X3 M >CEIPJ_GK)Q3MI$\W*TX[Y7;4)M468YL8^VP!%H'F6^P=\=IBRT&DC^E.4PEI3.3>WNA9%=CZ1#12/ MTPWXBBN]G4\O0\ !"&.@[Z^YWH3G T-0G!)-OP-02P,$% @ /&AD5;KX M!R" @ @08 !D !X;"]W;W)K&ULI57;3MPP M$/T5*T\@49P;%% VTMZJ\@!:L;T\FV2RL? EM1UV^_?83@@+9!%J7Q)[/.?, MS,EXDFVE>M U@$$[SH2>!+4QS17&NJB!$WTJ&Q#VI)**$V.W:H-UHX"4'L09 MCL/P''-"19!GWK92>29;PZB E4*ZY9RHOS-@P.#RPEY2 TE0(IJ";!-+I:)L[?._RBL-5[:^0JN9?RP6VNRTD0NH2 M06$< [&O1Y@#8X[(IO&GYPR&D ZXOWYF_^9KM[7<$PUSR7[3TM23X") )52D M9>9.;K]#7\^9XRLDT_Z)MKUO&*"BU4;R'FPSX%1T;[+K==@#6)YQ0-P#XK> M] @Z0')9R.D/2#];(2S'N!+QUWM7K@%,23/E-PBY;PMFUMX]3W:ZD6%ZY.U M4?:46IS);Z4!E* OZ-;VY+4H) >T H7FDG/['=$)BL,X'LEG_GEX-%;._T5?_G/T5V(D0SLDGB\]P#<5AI:4M>[V MHC44K:*&@A5[5[#6ZHTJ);EKCJ8UQ-]T6:$E48**C?:-XSOF!$VY;(5!1U3T MG7(\UBI=,F<^&3?1'O,X"M,TR?#C_A=X[Q9=I)=Q^-IM,<(6QI=A]-IM^=[M M/$K#%[)..+QWISBHC1]F&A6NK$[/P3K,RZD?$V_LL^AJ'HW8%W:^=N/PA;X; MSC=$;:C0B$%E0X6G7VVNJAMXW<;(QM_H>VGL?/#+VOXC0#D'>UY)>ZO[C0LP M_'7R)U!+ P04 " \:&15LJ;$9T0$ '% &0 'AL+W=OT9Y)2^,O>:-93C6C%P0C>E:Y@P$_AWHE,9Q M3@0R_JDXM3IE#CQ_/K$_%K5#+2]$T"F+_XY"N1MKOH9"NB'[6'YEQX!6]3@Y MWYK%HOB+CE6LH:'U7DB65&!0D$1I^9]\K\;A# \:H!9 93F7E])#F\CP,G)%R8ILM =^@+K:IFN64+1$^5HRI($O+C: M$4[A+32SO22%/]D&/1 1K1%)0S2+XKVD81->XFYF5)(H%K? \+R:H9L/M^@# MTI'(WPH4I>@YC:3X")WP_&W']@(XQ4B74%FN3U]753R459AO5&&ASRR5.X'F M:4A#!3YHQP]:\#J,:#VLYFE8'\Q6PA7-[I%E?$2F89H*/=-V^)_[M!4^:X=_ M)AS@^$WXO+MXK( _=A>O@B^ZBU?!@_\W\LO_7/N%$:QZ?5D%G_W6^H)U$17K M0N7J$NL6V/Q4.DRL@0-I#^=6N0XR'<>[#)I=!SG&P+D,FE\'V;[5"'J\#L+F M #>B%@KE'C8O@P(%%78-ZS)JJ:@/V^Y/KHMQM^MQMUO'O=RA[M"Q..UH>$<. ME,/A?=I[X-@7$C:;*-T.T0WL/F7_K6J6RDS.N4#/,6!\&Y,P;964?[4,14;6 M=*S!9XF@_$"UR>^_P8C\H5KB?9+-525XV#+-06/V^\RZZ),L4,X"-HWF4EBJ M EW+=S%66\JI+>6T6FJ>9#'[0<%"DJU?$NY]MJ4WFUJ;P.)USNE9#%,>$"9; '%;Y1VJ9D\\]T&/>X(7;:FO*]ENF3 M;*Z4WW#\8Y\9%WV2!2KY=N-[::D*\GRU3?S:)GZGO:>[4?PN1FE-^EZC]$DV M5\IO&J7/C(L^R0*5_"NCJ(+.CK+2*/K9K4!"^;:X4A)HS?:I+'_ U+WUK=6G MXK*FT?^ APNLZ _P<%E>2OVD+Z_(X#?<-H)OHYAN(!5H@^V/E]=.94.RK+B3 M>&%2LJ1XW%$24IX'P/L-8_+4R!/4=W^3?P%02P,$% @ /&AD5:?3=D^5 M! ]!D !D !X;"]W;W)K&ULO5G9;N,V%/T5 M0AT4">!&J[?4-A!;:I,"F09Q9OI0](&6:5N()'I(*DZ ?GQ)2I8E6R:BE#,O M-K=S>'D/><5EM,/DF6X08N UB5,Z-C:,;:]-DX8;E$!ZA;):L M3;HE""XE*(E-Q[)Z9@*CU)B,9-D#F8QPQN(H10\$T"Q)('F;HACOQH9M[ L> MH_6&B0)S,MK"-9HC]F7[0'C.+%F648)2&N$4$+0:&S?V=6!W!4"V^!JA':VD M@1C* N-GD;E;C@U+6(1B%#)! ?G?"YJA.!9,W(YO!:E1]BF U?2>_3#Z8 M!:1HAN._HB7;C(V! 99H!;.8/>+=+2H&) T,<4SE+]@5;2T#A!EE."G W((D M2O-_^%HXH@*PO3, IP XQX#N&8!; -SW]N 5 .\8T#L#Z!8 .70S'[MTG \9 MG(P(W@$B6G,VD9#>EVCNKR@5$V7."*^-.(Y-/F.&@ =^ =.,\BI*P0PGBRB% M0D8*+GS$8!13\(1>60;C2][RR]P'%Y\NP2<0I>!I@S,*TR4=F8R;(TC-L.AZ MEG?MG.EZ".YQRC84!.D2+1OP@1IOVPH"D_NA=(:S=\;443+^ =,KX#@=X%B. MW30@-7R.ME? M23<:8#[[XZWV8*"O^]1LD#DGR;W*:G:ND\GF:^3+-!$5M.C6^K15>K1% $[ M/,,_BDM$9!8\$9C2%2+JN=X]F7S.T+-%3*A.OIG2G+8RZ"0+-)'59.B5,O1^ M9-SIO2L0S)0VM=5")UF@B:RF1;_4HO^^)2$=3:-\200\S=[ 7"ESPS0*5RR:0TMZU, M.LD"360UF0:E3 .]D>M(0;J7D&_D2@V;5!J<+J9>KV\-CU126MM6)9UD@2:R MFDK#4J7AQU1B4;KF$>](L!O"%5LC&0L[X%&DQ7+Z,V,A3D0@_ KCC*^T6WX4 M:M)J>+*BNL[ .MHGS90FMY5*)UF@B:PFE6T=CD76__H*_4XP;3KS3 O>VAIQ MW8'7/W*\NO^VGM?*%NABJ_N^;KY4M*-AJ!X&N58G!==O49(EZK6C]9"NE#CYV^JC_X_;5Q>&5+BF@BZTNUN%:P/[@O<#WV;?9#;<'_=.-F]KHUH)IO3[0Q98+9E9N MMQ-$UO)9@8(09RG+[W;+TO+IXD9>V!^5S^QK/W^ .-#D[R'WD*RCE((8K3BE M==7G R#Y$T.>87@K[] 7F#&&PO=V]R:W-H965TRB2K\7I@8NO()6RE<@35_Q[9G"5) M3M+U^%9!!W69>>#I\9'^IFB\;LR22C;GR5]QI+;7@_$ 16Q-]XGZQ _O6-4@ M/^>M>"*+O^A0/>L,T&HO%4^K8%V#-,[*__1[)<1) /:>""!5 &D'^$\$N%6 M^]P2O"K >VZ 7P4431^6;2^$6U!%9U/!#TCD3VM:?E"H7T1KO>(L[R@/2NB[ ML8Y3LX]<,>2AU^AV+_4M*=&[':ZKR@>Q&O M&-(=%:DM0S>K;_M8QL>G/M%='*&7"Z9HG,A7FO+E88%>OGB%7J X0Y^W?"]I M%LGI4.DFY!49KJKJSLOJDB>J.T$?>*:V$H59Q"(S?JB;7K>?'-M_2ZS WVEV MB0BY0,0AN*\^]O 'MKM$KE.$DY[PQ?/#^TH/[>$+MM+AN"_<$,.M.X-;\-PG M>#=2,B7URZNS*5ATU5.CVY+@]1/R8>U*[NB*70_TN"69>&2#V:^_X,#YK4]< M2-@"$A8"P8PT>'4:/!M]]I;SZ! G29_\ULASY2]A00'+9Y3'F3MV?7\\'3Z> M"@M99M@MT]-S&G;J,@W)_%HRW]ISW\=T&2=Z &*Z^TH]ZSW1>WU(^2!A"TA8 M" 0S4A'4J0BLO?>C7MVLJ-RBE9Y XHB)8O+H2X:5)EPBP*5PS_=+'@C$:M079N M+^I'_O*RK0D_5)6-G0ORVO-8BSI87DA9"T4QY22,OL_HCU1.E1(JCZB?<^GLJDQ?HK>"R=T0A/4[4=<=>>^JTEW^V]J!> M%(IF:M]X46+WHO/\4X.U?W<]Z.O <[VVQ* 6%)060M%,B1L+2NS?(Y__1:<" M&?VYYQO+W%[@V6*#VDLHFBEV8R^)W5[V[<.XT"H%!W??4# MW65Z"<.D'H3N]*2J%Y TBXI#NDQ8;ZZZGA0'P:@[PX*Z4E!:"$4S<]6X4F)W MI>6"9G?<$_/SUZ/[";)_J@4UJ*"T$(I62CX\V;F4,K$IMHQ)K>0^4^4FGOIJ MO2WMIMB,U;H^QU>+%H=;1G4>\P?T_37GZGB2%U!OXIO]"U!+ P04 " \:&15-M8,Z)0$ M #@%P &0 'AL+W=O8/D4/G!5,G**1P),!6$4.%X/*B.S-^O&\4G 'P3OQ,$UQ$^R M8NQG7+CS!I5:G!#VL2MC E)_SWB,?3\&J31^9TYWDV=6SK)# M8^;_()[<#BJ="GAXC2)?/K+=#&?/TXQY+O-%\@N[++96 3<2D@696&40$)K^ MHY?L/1P(+.L=@94)K',%]4Q0/U?0R 2-U,T#Y7T,D$ MG:1WT^Y(^M)&$@W[G.V Q]&*%E\DADC4J@L)C:V[D%S=)4HGA]^9Q-"$SS!E MS-L1WP=$/;B76\SACDI$-V3E8Q@)@:6 *QM+1'P!2_PB(^1?PT<@%)9;%@FE M$U7X]*%3;S6^Q+5S15/V%'U#JD3CY@PW2\I.D[+>2:H.M@KT#OE M^N[_Z6?E>M,J 1CJ#>>OV=J_YENKE/@5T1NPK"I8-K*9ZLEF5HZQL:LP9AGFR ?U M_'.K)]S&.]S]5U:%'YQ(B2G/YT#TZ&YQI@ATYJ9$[J5'JI'2( M'K- L;?Q4N(9JP';90&&JV],B.LJJ,E=3=T4QA'GF+JOL.2("I0M&M0PGY1] ME)1'WM]JME&+$EF%%59K(@Q+]%*%)9/(+W)H:7J7.E0GS-8)F^B$.2FL>>!0 MJU-[:U&=+:E;=,+L MYLD;,IMO^V12$-1Z&^0T3WJW<1(T/26=!LTT/>!1][;R[FV5=Z_[*R(<>U"W M81:M!/PYQ\$*\[_@'WCZ?K>\@IW(WJ5%)FP7?*PGW]@XC>H>1IDWK>,@ MNS3'2UVC$^;HA$UUPF::8$>NZ>2NZ92ZQB8B9 +Y,.4L"JN0EI6#U#RU>H4Y M5@N>;'Z:L]':*2B[T/,D_GM:/2;(QJMU?(IXH1NP$$N M\8E\C;>Z7U&H8/O0(D^6IGWIP*@39NN$373"')VPJ4[83!/LR.+=W.)=/5O( M4LREEM,)LW7")CIA3O=T"WFR@M/9X$P3+'62<7 .&&"^2:U M^;'S*#EM?5-_:_;&9D&];?8F1?6.V9NFI\W_-9N>?<\1WQ UC/IXK5*HW;35 MTI:GY\EI0;(P.9U<,2E9D%QN,?(PCP/4_35C9(" !0!@ &0 'AL+W=O MB=O8F4Q?0)<]9\\B[6%2*WUOVD2A?, MTE1GOBDULJ0!%<(/@R#V"\:E-YLT:S=Z-E&5%5SBC093%073SPL4JIYZ V^[ M<,NSW+H%?S8I688KM'?EC::9W[,DO$!IN)*@,9UZ\\'%8NSBFX"?'&NS,P97 MR5JI>S>Y2J9>X 2AP(UU#(Q>C[A$(1P1R7CH.+T^I0/NCK?LGYO:J98U,[A4 MXA=/;#[USCU(,&65L+>J_HI=/9'CVRAAFB?476S@P:8R5A4=F!047+9O]M1] MAQU &!X A!T@;'2WB1J5E\RRV42K&K2+)C8W:$IMT"2.2W5(7(S\2T)=^G]32=RT8H,#XC\"-=*VMS M)YE@\C?>IX+[JL-MU8OP3<(5EF8?\UAPWOZ #O MMO9]);;(N$&Z5GFI^.6G-K4=)-2-\G)7HEY30>'E 3]VKB-]50PU([2FH@ MK5%NGL%J)HU@K1$DOZFOR%CLWJL8O]8SB$=AN%_1N%CO]/E!>JL\3(#&]=X; EOO?::Z8Q+ P)3@@9G8RI7M_[5 M3JPJ&\]8*TL.U QSLGS4+H#V4T6^T4U<@OXG,OL#4$L#!!0 ( #QH9%4( MURROF 8 &DH 9 >&PO=V]R:W-H965T>NF;>,LC M^6N5,83(EA6-/0\Z/)[#S_[B:9G<<[$?@1OTE0N@M# M+_G^C@?Q_F*")X]??/+7&Y%],9V=;[TUO^7BR_8FD5?30Y2E'_(H]>,()7QU M,;G$;^?,SAQRBS]\OD\KGU&6RETRN=Q\-5?BLW%Q)F@)5]YNT!\BO>_\C(A M,XNWB(,T_XOVI:TQ08M=*N*P=)8(0C\J_GL/Y4!4'(C5X4!*!])PP*S#@98. M-$^T0):G=>4);W:>Q'N49-8R6O8A'YO<6V;C1]DTWHI$_NI+/S'[& N.3'2& MWL?Q'Z0 MOI(>7VZOT,L7K] +Y$?2+-ZE\@[I^51(]!F&Z:)$^JY 2CJ0NN@ZCL0F13]' M2[ZL^T]EUH?4R6/J[P@8\)9OWR!JO$;$(*0%SQQVO^(+Z8YS=PS H8>9H'D\ MUA'O?1*GK<-2N%FY6U:5]S.3,%?>\KX*ML6*46H?K&J8V $3 S%=+A:[WO'D[S;H8/2L MN;]-M]Z"7TQD]TYY[ /WFKSAZ^2?WDE>M#1P.@@WT7;JV+88Y[#IPB>(*"V(0VM><[N6* M\.YY(N4+VA4)!UG""<_TD"QE*'4X/LXS1Q8*#@4'/+5%C16MGKXB7SR0?;%.K([&(*51M>@<1CJ*3I$O M'H]]<0NO,N8T<;984:NC5V%%OG@0^Y9>U:&CIMN$I+,OLSO4 %;DBV'V?7H] MP_%)T_MA?T<[(L5_6*8?^'"1O^A:SD6X2Z$:QV\Q\FU/E*T M^H@H 8!A!7 DF<%!",!EH.?0])1TP#W:H7?"O8?^"0?OJ# MH70,@75,)Y&7?C7Q3 EI\E%I9G::U7$I@4%@@7$*F1-=3IQ9!FMN^=O,3 .S M#JA*=Q!8=W30>>E5'4 ;.TV)072)X1!L=F!2$H/ $N/($H:#0!L0V'7HLE6" MA3RS8.F)7W8OY!XA6.!00X=""18""Y;'+H9N9+5D!]5P\QI5F8P5K9ZZ4B8$ M%A7=S@K3=$?S*KUJ X@9:YXWE6:U 62L:X=$%453F**/:U\]03"@.6'7@0N7*M:E M,.L^N7WUQ'_LW$=MN.!80\>BM-(, M%-8,W4\O=-50?2Q1@M=%0_6DH(Y):08*T_TI78OJQQ!GV-7:0YM5E^"BBOPI M3,Y=/);"//OT=@7'+X][ MCVI6SW%80!6S4YC9Y_DC9KEWS)]2R>)(-_ZVIV^->C0P5K3Z\TTE%Q@L%SK[ M%M,% R88-\N/Z8(!$V)VR!BF! .#N?ZD)Z]8[TJN_H2XS\C3W_AFYQ:\6-%JP^)4@5LC).$GB M<&>0]-36H+!6N*(&3_B^!>^ MRYI+SN,[?<4O1(MY%HGBOZ_#MX3VZ MR_SML:DR+U["N_:2M1^E*. KZ6J\L>723(KWVHH+$6_S5\/N8B$73?YQP^7N M)&PO=V]R:W-H965T1 M TCT7-!23*UV:+B@%,C*JCM.4YD%YB4 M5C(Q]^YX,F$;24D)=QR)35%@_OL:**NGEFN]W+@G62[U#3N95#B#!%W-T?O8.G2%2HH><;81:14QLJ3+0'/:JI;UN:+TCM NH M+I#OO$>>XWD]\MFP? XK)7>-W/U7;JNZ=<7SNN)YQB\XXGI^0,CO&<]WH M(Z/7&VJ;N,%8+;W=A1Y<1&_C2U'A%4PMM4\%\"U8R=LW;N1\'$C![U+P!U-0 MX'X?>*,*=\##. [VP >M3P0/.O#@-?"@#SPX />C(-X#'[0^$3SLP,/7P,,^ M\/ 0/ SW_RJ#UB>"1QUX]!IXU <>'8('H;\'/FA](GC<@<>#X _J, .\EL#[ M\.,#?-CV_A7SC)0"45@KG7,1JP+RIF4V$\DJTW663*H>9H:Y^LH MK@/4\S53G:>=Z$;6?;&ULO5AM;^(X$/XKH]SJU$JT">&M M= &)DK2[I^6$2O?NP^D^N&0 :Y,XM9W2E>['[SA)4R@0%2FZ+R1V/,^,Y_', M>!ALA/RAUH@:7J(P5D-KK75R;=MJL<:(J4N18$Q?ED)&3--0KFR52&1!)A2% MMNLX73MB/+9&@VQN)D<#D>J0QSB3H-(H8O+G#89B,[2:UNO$/5^MM9FP1X.$ MK7".^GLRDS2R2Y2 1Q@K+F*0N!Q:X^:UWS?KLP5_<=RHK7CSC!,/0 )$93P6F5:HT@MOOK^BWV=YI+X],X42$?_- KX?6 ME04!+ED:ZGNQ^8+%?CH&;R%"E?W"IECK6+!(E191(4P61#S.G^RE\,.6@.L> M$7 + ?>C JU"H/51@78AT'XOT#TBT"D$LJW;^=XSQWE,L]% B@U(LYK0S$OF M_4R:_,5C:\5#! [[H ME(7G\ EX# ]KD2H6!VI@:[+!(-F+0M]-KL\]HJ\%4Q'KM0(_#C X(#^IEN]7 MR-NT]](![JL#;MQ*P#DFE]!R&N ZK@O?YQZT1K29KO/Y M$%4Y6#<#,XGR>=1L]MH#^WF;B/U%SNX*OR:;=AS<+AWSWR$+PE6:42,N#?S9_2IE$N!5"G\-_1T(OYZI2S:E9V2.B6)'2K27BK6A=4M2X45:T&4%&#&9/:T).G)J+H3HHTJ. ;I=< M:>WEG>T;3-YG M3YE<\5A!B$N"="Y[5/]DWKOF RV2K#E[%)I:O>QU3>T^2K. OB_I O$Z, K* M/Q!&OP!02P,$% @ /&AD50#MMON5! /!H !D !X;"]W;W)K&ULO5E1CYM&$/XK*QI5B70]V,6 ?;4MY7PZ)5*O.MTE MZ4/5A[6]MM$!Z["+G4C]\=W%'+ &QG9#^V*#F1F^F?G8;[R,]SQ]$1O&)/H6 M1XF86!LIMS>V+18;%E-QS;4R2R.*;I]UL6\?W$PM;K#T_A>B/U#_9TO*5K]LSDY^UC MJL[L,LHRC%DB0IZ@E*TFUGM\,R,C[9!;? G97M2.D4YESOF+/OFXG%B.1L0B MMI Z!%5?.S9C4:0C*1Q?BZ!6>4_M6#]^C7Z?)Z^2F5/!9CSZ(US*S<0:6FC) M5C2+Y!/??V!%0IZ.M^"1R#_1OK!U++3(A.1QX:P0Q&%R^*;?BD+4'/"@PX$4 M#N1 MV")+TS!9HULJ0H'>WC%)PTB\4X$^/]^AMV_>H3(]>Y0L0AI,5]!KO?L85RQ[D[-MUM5;VRA*0L(< 2IQ]3$II7O^6[0WL1A"6EX$A)22S9:Z /V M-0MW--(BT89S>!;.IA6 @AGU MPTXU%#C_BGR%6[U?A'B#X5%7V\Q&':L:KDTJN#_Z%;%.(FTQZT1:#008G@A^ M@( $I!A\WTLYUE-L*2WB&&M),,"#XUXVS?#0Q<..;E:*CV') M[]13W-3X5EPMHP" JY)Y#.M\+RP[1U-A'!>SKJ=H9M6J003#DTCGTN8WNG0\ MF8,F)IQ*Y?%IF3]_46O*>@,C9&)BK&0?P[K?%]$NU%,8U<6TZRF:6<-J),'P M3-))N]'IED(FYC_62N#):8$_FW:D*>>-/ZV0B8FQTGL"Z_T/T,X%B07?]U)B M]17-K%)M\Z&OW0=RNHN0B8FO4GD"JWRG>I*F7#?P0"8FGDK-":SFO;#J'-6$ M<5S,LIZBF56K9@T"SQI=RQ=I[A8TF@B9F' J$2>G1?S\Y>NTLH,F)L9*V0FL M['T1[4+5A%%=3+N>HIDUK"8/7E4<3B3?YKO]&PO=V]R:W-H965TK/;"@9/$&L#4-DEW?WUMP@"S 9J6Z4V"@7/>YA:V'&Q_9=J?,#7LQ MR^@6 E!WV4KHD5UEB5@"J60\10(V<^L:7]V,'!-0O/&9P4$VKI%I9:68RJ"&$)E4E#]M8F%HI@0_-8?>2'-U VY)E\(8]E\8D.Y;N.A<)<*IZ4P;J"A*7';_JUG(A& M "$= :0,($7=1Z&BRENJZ&(F^ $)\[;.9BZ*5HMH71Q+S:\2**&?,AVG%A^X M C1%%^@]%?>@Z#H&%$"8"Z882'T_V'&A+A2(!-$T0N]XNCV.KO>4Q<7[VALH MH(\#G]_J9"R6+] SQ%+T:<=SJ>/ES%:Z:J-MAV6%-\<*24>% 627:.2\1,0A M!-T%M^CYLQ>/T]BZZ:IS4G5.BKQN1][K1#?&_H,(+;E4;74=X\=%O''W?N&- MG3&9V?L6V5$E.^J5O4OUGR UAIUW4K43=[W*KR@3Z#.- M:T>&-$9!OH[8GAF>2'0+:]7TZ]_O(5F#^*>MREXY@\TKF=$0YI;FH@2Q!VOQ M^V]X[/S1X]))UJY+_4K4'^Y2_]2EKN^V M"V.GIJ SP*9E\.,Y=OU)AVJ#O;A7=3$9Z,3U^S$3P!/W$)/XOD=VC4]\1!\XE-^^B-WU"%:\Q-_ M%Z"O^1Y$JE=?"EUO(0V-)W_(H[^"F;B&)AY*37R*3>)-IEUFJ;F)AX,3GTU. M7*,3/P$[<0L\)],.C)$:GF0(/,DI/(GK^QTN)34\23\\;VAZCS[I'8(V9L8E M4_V.[,_VDXXDC<7FX-7F*34QGG80A-34),.I2?^"I:2FJ5D*$M)RQ+4<[H<5*.4#$0*4DA:4=AAW5(-T- 2D97!S/XHU2/\G:C?. LRYBM[7;_7DH1@V.LRYG.B2 MQ?&HXCA0/"N.!]9<*9X4ESN@$0CS@GZ^X5P]#,R)0W5@M/@&4$L#!!0 ( M #QH9%5DZ3SC"@0 "L2 9 >&PO=V]R:W-H965TILXJ:3O=#U0\.G 1K *>V2=K] M]6N3#%!QZ;1,OR08..<]Q[P\,IX=A;Q7(:(F7^,H47,GU'I_Z;K*#S%FZD+L M,3%7MD+&3)NAW+EJ+Y$%65 !Y(S=F/'$6L^S<2BYF(M413W EB4KCF,EO MUQB)X]RASL.)]WP7:GO"7=/,ABE)Z(4 - 0 .< R.H^"655WC#-%C,ICD3:NTTV>Y"U MFD6;XGABG\I:2W.5FSB]^$=H)!/2([=,WJ-FFPC)&OU44'*WOB'/G[WX/HUK6L[[AKQOR/(.&O)>Q:8M M_A\&9"F4KJOK%#_*XJVW#PL8>?WIS#W4R/9SV7ZK[%UB7ITHTWUM7IG:"3EE M&):$Q_6B@UQT\%C1=T(IK%4=5%1[%$;UPL-<>-@J_(IQ23ZR*,4ZQ6%%$893 M\.HE1[GDJ+W7-5EKIHT'K5M7(C*&]%E$UNDFX =N8:+(#6YTV:Z?;C'>H/Q< M5V6KG&7FI=HS'^>.@:)">4!G\>'#37'3:W:33JDG'#;K4*PCH=7#I.?C[*1Z,&Z:8EKA+6U670NZ% M-$[]*3>V)_U%.]("FK0K-<\)RM,U[7O]AMDJL$F[0A=>0I67=#1M@#04O(1V7BY%'*/TN5EAKM@> MY4MB/JC(V\2/TL#,P)'KD"R9"K/5:';P]Y>4'UAD\/H#W_X.C$*!4>B*4:AB MM.D9%@R%[@R%1S,4"H;"$S 4J@QM$.X7!.UW(>@Y>-2BZ)8^_>TVBOF,WYF) M(Q%N38QW,3;ERM/.Q&F@Q3[;#=@(K46<'8;( I3V!G-]*X1^&-@-AGQ_:/$_ M4$L#!!0 ( #QH9%6$<$V\/@( -0$ 9 >&PO=V]R:W-H965T$;BO;2^*S[_[^W?GL;*?-UM:(#EX:J>P\JIUK;^+8%C4VW%[H M%A6M5-HTW)%I-K%M#?(R!#4R9DER&3=)Q[$IG9^(LZSEF]PA>ZIO3=DQ:-**1I45F@%!JMY]&ERLYAY_^#P M7>#.'HS!9[+6>NN-+^4\2CP02BR<5^#T>\9;E-(+$<;/03,:M_2!A^-7]<\A M=\IES2W>:OE#E*Z>1]<1E%CQ3KH'O;O#(9_4ZQ5:VO"%W>";1%!TUNEF"":" M1JC^SU^&.AP$,/9. !L"6.#N-PJ42^YXGAF] ^.]2RP8G(!0\UKJS7)4VBQVEX$'B8L!=]+CL M'=P5MA)J0)C&=A8!A9T9^_H+COT9%HA[)$;T 8D MVJ. O=!E$/(M_YRSE*73+'X^LO]TW'_ZW_UYY="\(;C:Z&Y30T5=&V:.TO2R MZ2'-1Y9>':>9C32S?](\:D?'U[QUA!W/^!C#[*^*I+-TDOS!$!\TJ;_OU' ; MH2S5N:*XY.**DC#]'>H-I]O0MVOMZ!:$84W/#AKO0.N5IMX=#'\5QH&ULC51=;Z,P$/PK%NI#*[4A?(1<*X+4)CI='^X4->W=LP-+L&IL MSG:2]M_?VA"41*2Z%_"N=\8S"^MT+]6[K@ ,^:BYT#.O,J9Y\'V=5U!3/9(- M"-PII:JIP5!M?-THH(4#U=P/Q^/$KRD37I:ZW%)EJ=P:S@0L%=';NJ;J\PFX MW,^\P#LD7MBF,C;A9VE#-[ "\]8L%49^SU*P&H1F4A %YOV1%GB\/K!_=][1 MRYIJF$O^AQ6FFGG?/%) 2;?*%N-;';A>N/0Z(8) M^Q571N$N0YS)?DD#Y)[Q V&D^CQ97R_ 4,;U#6;?5@MR?75#K@@3Y+62 M6TU%H5/?H Q+YN?=D4_MD>&%(U?0C$@TOB7A. P'X/.OX0O($1XX>' *]]%\ MWX&P[T#H^.(+?*_24(Z6.LM#?EJ"Q!'8L=AE07P_B5)_=RQ[H"J*IW%?=:(N MZM5%7ZI[Y#AG5.1 <&*)7&O)0>> B2&A+=?D2,)=%"5G.H>*@FA89MS+C+^4 MV?\QMT3@U2-+0@_"AW3& PU-@NF9T(&J*$B",Z7^T<]O+YZ?5&V8T(1#B;CQ M:(I.53O,;6!DX^9A+0U.EUM6>/^!L@6X7TJ&PO=V]R:W-H965T7C;F4B_-6*QG/ M6423)E^P6/TRY2*B4IV*62M9"$8GJ5$4MK#C]%H1#>+&X"*]-A*#"[Z481"S MD4#),HJH>+EF(5]=-MS&^L)M,)M+?:$UN%C0&;MC\F$Q$NJL5:!,@HC%2:<*&//P63.3\LM%OH F;TF4H;_GJ%Y;? M4%?CC7F8I'_1*A_K--!XF4@>Y<8J@BB(L__T.4_$AH'"J3; N0'>-NCL,&CG M!NTM [S+0R&U,L->FGNLV2EF?:HI(,+P5=(Z-$*31^DY4JM M58*#6#/K3@KU:Z#LY. +EPRY#CI!=Y*/OY_H*DW0D$>*N@E-BW_D,4F#,$'W M[%DN:?A1#7ZX\]#1AX_H VJA9$X%2U 0HX\(J8UN>"SG"?+C"9M4V'MV^S.+?4NEI\@17N?H&EL![]BBB=K. M,<(.QA7Q# \W=ZMNYW7>_0/,\6YS\I^#-W+9+OC63O$ZN_ T64ZN4Y:-Z(OJ M41)="4'C&=/'Q\A_ULQC5;3)D%TGA=8M\VG0:9Y=M)XV:Y$-ZFV,Z9HCO H8 MM]ULFZ-\ZVWH?G^>+.B873940T^8>&*-P8\_N#WGIZH<5[GL-LO C%1VBE1V M#DZE,6$W\HD>7U!ERE=43([1KPMMH*;LS\I"IG-XQ$3 U4_?TIZL3*Z>F%!K M3#8$J2;#$*&!0%]IN&3H2)E,>!A2D: %$UDS^%A5/>O-U$SH$!+,R\#Z&\7! M[:;K;A$"TB4! C-XTRUXT[7RQK\;C=#O-RQZ9.*/JDI9S>M6"A+,@P3S(<$( M$)A1T%Y1T-X!C:!BY:YL!(]5C< +DC%?JO.IX!&ZH>*[>J@=B6#,5).83E5/ MB&?IW*_BBS6ZNGR!!/,R,-?=F-I.T]U:$'Q(EP0(S"#":4&$4_O,CA8A?V$L M>Y9#HZ48SU6UT2BD\48=LQ:/CM+'I,I>;753MZ*08)X] 3T4I8]^5=,=,@P" M!&94N5]4N?_6T[UDAI[BB$\UD$I=1IQCS9"Q&EY%#6ML=:D!">;UJR9[?WNR M0[HD0& &#[BSKO16#W6+"0GF08+YD& $",RHN>N4K^O.6T]^ M]885B,QHO1+\QJBH7 CLT=1E""B:MR=3KH->U&U5K@6@@1 H-),2&PJ.^]:4 M2/^AKRR1F\\'NUEA#:@V*R#1O#W)ZEA( 1D'@4(S28%+4N#7K0Y?>/RDZJU? M\#,.#'DBU56I$B31+1OS61S\Q30Y(OUF<(SNN:1A)1VR4%QL"#-;"^_0'G#M M,N,J,6A[L0?U2:#0S)*6RIG[2NGL\)+F,WS*Q?IRIO3NGO&0? M1W^CFR .HF5D;_V@:A\HF@>*YH.B$2@TL^RE"NB^N0Q8][4/5/L#1?/V)*MM M>>T#502AT$Q2E)J@:Q<%K;V /N_O!:"*("B:!XKF@Z(1*#1S?TJI"N(W5P5K M]@)[0'6) HKF[4F610("C8- H9FD*'5!;)>Z5 W3G8?QF&6%3ZQ3WXY6NZ*@ MHAXHF@^*1J#0S"J70A\^1.A[UZD/*:H-0=&\/I M<*\L@"LVM^%F?TL5L =5!S< MD[:U*( +O1;O5 5 R-0:"9?2F40VY7!? N'WKG)I^B>BIEBP9>E7O[1D"[H M8YC^<,UTS_>IB!5Q:%PL \?H,U^IH9^#**CG4)'Q8+:PDKML?A[1*"*G@'>/1!/1(H-+.$I3:'[=K<9Q[/ M3NZ9B-"G6-,IVXR'LJ$9D?1P'5>5 T3Q0-!\4C4"AF04O53G\YJINE5%VYY-=4O(PAX^NA@YW-A49W,E$JX MY=D/EJK%T(D=E,*,+C/UR->?H$XH-/X2GDG[C];U7-]!R5(JGM?&FB!G176D MS[40.P8!:3$@M0&QW%4@2WE'%1T-!%\C869K;^;$IFJM-1PKS%.9**'O,FVG M1E^X H1]U$$3Q9.GCLDP1;<\UX]=4BMWPQNC(U NZN -%628O!Y[2 M),:?E]11QU54TA*UC^YYH182O2]22%_;>SJ#)@VR26-,CCJ<0.FBP+]"Q"<$ MO4,>D@LJ0-:'(Q&"1JC 1NBV1*BRETBO;*EHD;)BCBY840>X1+\.AJK8*\^A M]6RVR6I$@B"(NP-O=8"HVQ!UWTITA=9V&4+:H2L0>ELA> :1, FH%"P!BYSR M+*-"HA)$!6WHMYH=RJ BB7+&.X)R/&<3=H MD;'74/1.H3B;=+T]Z;JQ2UJ@HP8Z.@K]OD8[7;QH3[Q.@'$+1MQ@Q*=AG$V] M>$^]P'?#EH77;[#[1['U^WP&["U+KW] O;B'6SBPOWW[^J>1G$W &N#5UL4N MB5K(=^H&_LNC+YEX@X*UN]<2=HF/6T#(%H2<#/(O^I ]?>*^&_G]G5\+XK9T MX//5#GR@>$1A'(#O]80YB;KM@B1*^+%35*C97FT[[ MINHOM].K-OV>BCG3R64PTZ:^&VG]1-7Y5@/%2]MM3KG2O:L]7>BO!1!F@KX_ MX[KCK ,G0-@, &T* 9 >&PO M=V]R:W-H965T.T JM-/V MH1LJZJ9IV@:9&3J)U?N6Z*DH@I>I2Y)#ASD+(E&J#*3S_'(\0PCX!!I T'QLX8I M<&Z0D,?O$M2ISC2.N^,7](]6/(IYI JF@G]GL4Y&3M\A,2SHBNM[L?D$I:". MP8L$5_:7;$I;SR'12FF1EL[((&59\:7/92!V'/S>$8>@= A.=0A+A] *+9A9 M63=4T_%0B@V1QAK1S,#&QGJC&I:9-,ZUQ%V&?GK\16@@OD=:9*Y%]-0R(8G) M5*18)XK:2+?(M<(LYV:BR(/99QG1"9 )I^@RCQ+!09&OUH+,)(M8MB1W(@9. MSFY 4\;5N3DAH1):$WO"C&ZQYEI)F2S#CBQ>$GW>0/H+\-70U*C0\W:A4 M,RG4!$?4#/#43">*W&8QQ/O^+D:F"D_P$IY)T @XA_R2A-X%";P@J.$S/=W= M;Z 35MD*+5[["-[MV)[59BNXUB M[YEZ:BTD /[C-2"^)I)JJ--< /GA;J0O/7_0/LA(O9W7K\]*KR+:.ZUJUH+C MK<69WM:1[-4=WNX,.@ MJG8&M341'I9.O9GO!_59\;W7-]![B^HI40[+HNN%!T2/&';"S@%3=^?A3D$N M;3^C2"16F2X>J6JUZIFN;:=PL#XQO91M"%YABD;LCLHEPW>;PP(AOWB>R MZ&V*B1:Y;0\>A<9FPPX3[ =!&@/<7PAL$>5Y,DXAI]+E)11Z9\%% M3I6>BJ4G2P$TL4YYYA&,0R^GK'"F8[OV(*9COE(9*^!!(+G*,3XV MOC'8 MR-88&2ISSI_,Y%,R<;!!!!G$RH2@^K6&6\@R$TGC^%4'=9J^^0@UH8&)%_-,VB?:U+;80?%**I[7SAI! MSHKJ39]K(5H.?;+'@=0.5@BO2F11WE%%IV/!-T@8:QW-#"Q5ZZW!L<)\E9D2 M>I=I/S7]S!4@'Z,>FBD>/_4,PP3=\EQ_=DFM<#WT"%()%BN]8ZW0E]+L2'1Q M!XJR3%YV&?VXAWP.XN?84QJH2>?%-:B;"A39 RI"][Q0J43OB@22U_Z>)MBP M)"\L;\C!@#,H7=3';Q'!A* WR$,RI0)D_3J0H=_HV+<9@CT96NRE97_!BCKZ M)?K3F:<"7H4=V+#F"*VG_: _')&QM^Z $S1P@I/@O$4;6Y^0].@:A#YO:"EH MH5!"]?=?4";0FF8KL+ 3GF542%2"J( ;!EO1NEA4:$8M%K[ON\.HF\6@83$X MR.*#@:@I'*OE8%=+GY A[D81-BC"8U"<6\)P1\* N'C0C7W88!\>50?VM&:T ME">H.=Q1L^<3'.*P&]*H@30Z%=*YI1WM5B<.W&A/=48-D>@@$7TK+("=4I_1 MKJ+]*!CMJ4\?;__A^#@DYQ:RQO%:R= -@ST,6K>0?Y[?9QVWK6D0#:)P3Y'Z M9(N(_%=_T!I.6]HP&PO=V]R:W-H965T MW" M) =B-8DSVT G[UW%\QCO*GG@*(-!SGA5\8J5" ME#>VS>,4XP1VCDEA3S-SARI C_A*8,<;;:2D+"E]4IU/R<1R%!%D$ N5 LO+%NX@RU0F MR?&S2FK5Z>XC5()\E2^F M&=?_:%>-=2P4;[B@>14L"7)2F"M^KHQH! R\(P%>%>!I;C.1IKS' D_'C.X0 M4Z-E-M704G6TA".%6I6%8/(ID7%B^ID*0*Z#>F@A:/S44PH3=$=SN>P<:^-Z M: Y,KW\1@QF&WMZ#P"3C5Z^?II@!1]\?(%\"^S&VA614,]EQQ3,S/-X1G@@] MT$*D'+TK$DC^CK>EMEJ@]R)PYIU,N("RCP;.-?(H;AD1F:^KEQAQ15^BOTNW4B0V[R^CJOVC[;J1N,!M'8WK;@#&NG@+3&XUM&:X$"C!(2SL8 M'#@8!?W0B1J_=AUAK2/L]$K(W22>ZDCR3T\DX:CR#_FZ?Y0 M; O8!LS51 MGS18R5"G'TH/F:D)34?04M=A2RID5:>;J:RC@:D!\OF*REJLZJ@)ZLI\^@=0 M2P,$% @ /&AD57N4?A)V P D X !D !X;"]W;W)K&ULK5=;;]HP%/XK5B9-K;22&U#: 5*AG;:'3E51.TW3'DQR(!9. MG-GF]N]G.R%N>FZ%$I,4,D%8ACA,>LZ=?SOT MF]K K'@EL!0[;:2EC!F;ZV_ ZEH);&BQ@5YA@Z*Y MD"PMC16#E&3%%Z]*1^P8!.TW#(+2(#C6("P-0B.T8&9DW6.)^UW.EHCKU0I- M-XQOC+520S)]C"/)U2Q1=K+_DTE OH>NT$BR:':E71*C(4O5/1'8>/H*W0EU MRKGN"/2BYTF&9 +H%=-YL89-T!-PB9A=33B :'!DT_ (N^U_",2Q8U\&HBA)*Y+I.K17D5+6MNA-L^<+0NV>-W7?&[MO)[)!E)YZGU1;$BG.KF,X'MB>U48COG>APZM?'L M7[OJ7VW4]6X M.[E]"GQJ2AZ!(C;/9)'@5J-5675GBHF#\8$NMTS-L(4I:K5'S*=$I?84)@K2 M:URK+((7Y4_1D2PW%<28256/F&:B2D;@>H&:GS!5190=O4%5A/;_ U!+ P04 M " \:&15J4U5*C8# !B"@ &0 'AL+W=OYCVX"8'L6K'F6V@ M_?<[.VD&*,VZJ3P0V[G[_'UW%_O&.Z7O30Y@R8,4A9D$N;7E91B:- ?)S+DJ MH< W*Z4ELSC5Z]"4&ECFG:0(8TH'H62\"*9CO[;0T[':6,$+6&AB-E(R_7@- M0NTF010\+=SR=6[=0C@=EVP-2[!?RX7&6=B@9%Q"8;@JB(;5)+B*+F<1=0[> MXAN'G=D;$R?E3JE[-_F<30+J&(& U#H(AH\MS$ (AX0\?M6@0;.G<]P?/Z%_ M].)1S!TS,%/B.\]L/@DN I+!BFV$O56[3U +2AQ>JH3Q_V17V]* I!MCE:R= MD8'D1?5D#W4@]AP0I]TAKAWB8X?^,PZ]VJ'GA5;,O*P/S++I6*L=TN#0NK<:W'/WL](NR0")*SLC2JO3^S(4D(S,EL4X,\Y$^(U<&LURZ MB2%?W7NKR-Q8CE$$8G,@'QG7Y!L3&R!JY5?FR\6"G'P R[@PIX@QEZ50CP#5 M/F2QT6F.>Y&%8 7Y<0/R#O3/<6A1DV,6IC7_ZXI__ S_$;E1A4YZ=%W)*9QW,)G]G+WJ(-.K\E/S^/UG\&;/Y18\!AR MP5= 3J07>TI.O.K3MGAUXPU(!=&F['\\#T3U&U']EXG*^)9G4&3DD8/(VM14 M0%%5ONY,VD[I.-SNT^XT.>"7-/R23GXWO.!R(SO+LA/!';Z7IF0I3 (\70WH M+033MV^B 7W?%OE7 CL0.VC$#CK%WG)S?[;2^&7RP@+B6Z+QNV[37 %%O?U( MGU,:#8\R\HP=34:'O_8L#1OBPY=5T58)/*D$MX]MI(=M9/I#FAR1;K5+Z$72 MSO*B87G174OLX:^UU(GPK[7T2F '8D>-V-%KU=*HM49B.CA*2[L=C>+VM$3T MS\5'7Z-\:I3CNNCU^T=$VPT'2=([8AKNW=82]-HW,8:D:E/8ZIYJ5IM&ZLWQLA:P0DAZ/L0#1E<-336QJO0]P9VRV&'X88Y- M(&AG@.]7"ON">N(V:-K*Z6]02P,$% @ /&AD56C3O@.1! L!0 !D M !X;"]W;W)K&ULM5AMDYLV$/XK&IKI7&;N#@08 MXZOM&9^A[69&DMP8#XMG3VP\I&N1)CD\,<3764;8MWM(Z79D8./EP8?D>2G4 W,\ M7)%GF('XM'IB\LZL6.(D@YPG-$<,%B-C@N]"W%,&!>+/!+;\X!JI4.:4?E8W M#_'(L)1'D$(D% 61?QN80IHJ)NG'EY+4J,94AH?7+^R_%L'+8.:$PY2F?R6Q M6(X,WT Q+,@Z%1_H]G^D(O=*@"-W,;A%3:,FF M+HKL%]8R7TFNA#(33+Y-I)T8OZ,"$,;H!DVB:)VM4R(@1N_%$AB:TDR*;ZE4 ML0'TD$5 V94NGF_<],^X::#'FDNEAR%>0RQQCYHMQ^TV)LR957>[)>\W=NMA#-8 MW2+'ND:V9=L:?Z:7FV-=./]M]/#5H]>2X50B<@H^]P3?/4E)'H%N6G>&7F&H M-JW-V+Z3L^K8+4HW2I*][51 M[@Q[AWYARW>]1I0:F.UZ:@IJ45[&%IYEJT79JZ+LM48Y>3]]0!,A6#)?"S)/ M 0F*G@B#7*"_'R&; _M'EX)65O6YN^,K$L'(D-L%![8!8_SS3]BS?M$MGB[) M@B[)PH[(:E/C55/CO5: WI$6;AP/NX.& #4P'^->0W\:%/9\W%B,H6Y,U[;T M\NM7,?9?&V/_>#RW;]EN(T8-##MNK['C!)>QA6?9:E'Z591^^R([^-;*>D=6 M,SF:KIE<9-$W-(G_E=_]3"VX5ZS#UH%_=!UV219T219V1%:;O4$U>X/6V=M5 M/E&M\DG*ZB@MJJ,YR!(>9"$=I83S9)%$1)7%VL)GH%&89?N-U3;5P'IV\SL: M:%"2JM]4M79,C$^L76SMBTFK7=<97>>"'P0N!;Y@-),-P5[Q5),_E3=M66@= MN6HU,G,>$IR'A*V0>CH.:FOUHF]CXO]MD:X[K6<^.SI=V=YCX0])SE'*2SD4-9M7[K+=L=CNQM!5\7Y MSYP*0;/B<@DD!J8 \OV"4O%RHP:H#BG'WP%02P,$% @ /&AD53EJU&3" M P I \ !D !X;"]W;W)K&ULK5==).SDP_ETD !(=LY2*J95(N1_;MH@2R+"X9GN@ZLF6\0Q+=-H!7@GPF@#_%<"@! S.5?!+@'^NPK $#)N T2N 40D8G:L0E #COEUD MUU@38HEG$\X.B.MHQ:8OC+\&K1PA5%?B1G+UE"BJH"'38@N/ERB#XA0=)^P7& :BXDMU30TF1V5DO-" MTGM% B1@KMMZC4K!E4]#PR?_PK?SRI& MRZ/:K@6@BSE0V!)Y>87NF<1I6\46I"-#JC?OIYGGW PF]M.IBRU!GG=3#PI? M!@6>UV!:O@P:!I^<>M"JR&J> M^)4G?J@.ZPVGCN(&(U(2K ^EZ[0+? (J.PPJE!R!R>IJ:ZYXT:X8-*\.&_].PA=HX"^#&-J&CU%>0?M74ZVRN+E&851N=$WIBS19]DX:BM:/7A52N@/B57?9*M>R*K%5!0%5#064 /E*M"V5'R M#\2F#LJS65SICS&]8&ULK5AM;]LV$/XKA%8,+9!$DM]B9[:!Q'*Z%? 2 MQ.WZ8=@'6CI;1"E2(RG; ?;C2TJR:EF.8'7Z$HO4W?/PGKL<18YW7'R3(8!" M^X@R.;%"I>([VY9^"!&6-SP&IM^LN8BPTD.QL64L >I4T3MCN,,[ @39DW' MZ=RSF(YYHBAA\"R03*((B]<'H'PWL5SK,/%"-J$R$_9T'.,-+$%]B9^%'MD% M2D B8))PA@2L)]:]>S=W4X?4XB\".WGTC$PH*\Z_F<$?P<1RS(J @J\,!-8_ M6Y@!I09)K^/?'-0J.(WC\?,!_3$-7@>SPA)FG'XE@0HGUM!" :QQ0M4+W_T. M>4!]@^=S*M._:)?;.A;R$ZEXE#OK%42$9;]XGPMQY*!QSCMTCG#FGH=A9[*IR'%9Z.!=\A8:PUFGE(U4^]M5Z$F4)9*J'? M$NVGIG]R!(.9"$;9![SU0F%")/L->)9A^T%9?EAYZ_^X# M>H<(0Y]#GDC, CFVE5Z+0;3]G/"^?_L<]_FKTD1K>HBFZ*UWL# MSR,RYA)3]%'P)+Y"3S$(G-;$?*];E(1S"<\@!RFDZ4_;J>N.>F-[>ZQBU<@I M6WA5BT%W."P;S>M@2A'WBHA[M1%_Y#S8$4JOT%=!E *&GM;KH3CC78P?1<2FN7W32E;8)Y;8+-6P(KY7Y0Y'[0 M?D,95 K:U=\_)PVEEK>IWE7&0>^4<=X28TG'VT+'VT8ZSJ.8\E< O7MOM:+, MAPNUO:UJ6Y&V=BE-I:T2=KH5:5MB+$D[+*0=-I+6[ -P'? =,PWJD>QU[[F7 M$I2\4.+AF?VPHG'MFIIJ/+Q$XY882QJ/"HU'C30^].EK 10K+? LQ&(#ERI< M2]:T<;<)YHTJF1A5$M$282D1KO/CN]]IYX.G'J>IRJVB>3E:J6%7=&Z+LBST MT0'+;;;UI5\X,\IE(D"?MGZF\.LI&^>D330O1SON>]4FU!9EEA/[Z/P;@=;1 M7#Q(Y/.$J>S04\P6EQOWZ9'^9/[!O9NY9^8]#XP!,45T?0[4$L# M!!0 ( #QH9%4NS_UTH0, )$0 9 >&PO=V]R:W-H965T=%7QB;(0HKTV3 M+S>0$WY%2RCDDQ5E.1%RR-8F+QF0I"+EF8DMRS=SDA;&=%S-W;'IF&Y%EA9P MQQ#?YCEAWV\@H_N)81N/$_?I>B/4A#D=EV0-"/9&)8:D60P5(H"2(O.YA!EBDEN8Y_ M&U&CC:F(A_>/ZN^KY&4R"\)A1K,O:2(V$V-DH 169)N)>[K_ $U"GM);THQ7 MOVC?8"T#+;=F$ <$J:,GX(: NP3W"8+3$)QS([@-P3TW M@M<0JM3-.O>JJ6%,LI<,/DTE3PQ_4@%(-M! M;]$P,CBPQ:YNL(!$DS M_D8R'^81>OWJ#7J%T@+]M:%;3HJ$CTTAUZPBF\MF?3?U^O 3ZW/0+2W$AJ.X M2"#1\*-^?MC#-V6MVH+AQX+=X%[!.917R+%^0]C"6+.>V?ET6Y?.RZ+'%T<_ M*H;3NL>I]-PG]!I_Z+:U)OH549U6NZF-[4!%W1U62P?S'!+!OCRS>B<3I'?]]"O@#VCR[S7C%U\%_SDBQA8LB3 MG0/;@3']]1?;MW[7N6E(L6A(L7@@L:,=\=H=\2[U74WT_L]W.IC&=Z\T ML![?^6V6_J6^0_^AAR(5D*"Y( )X>P;W&;,WVG.-.:18-*18/)#8T98%[98% MEQHS./%(. H#J^/+4Y1M638..KX\A>'0L[LNCS6PD>]A5^_+49ODZ 6^C+=, M?L:>9,,\UY)!BT9!B\4!B1WL5MGL57FK(\-0C?:UL]/6.L%?OR3E*0XRX[]89[KQT'5HD'5XJ'4CC?LH.>P M+S5EPSS^(!QUCK^9!N58?N4YD&+E0-;5[TM1TNZ M+43]O=S.MOWSNZIK[,S?V- LJ9+M8W6Z ), 40#Y?4=GD-0,5H/T78OH#4$L#!!0 ( M #QH9%7-LB%&PO=V]R:W-H965T%XR_@WL0:0Z'M94#&QUE)6%[8MTC641)RS M"JAZLV2\)%(-^2U49E86/'">V2Y-2:CNNY&SX=LXTL<@HW'(E-61+^ M_Q44;#NQ7&LW<9NOUE)/V--Q15:P 'E7W7 ULCN6+"^!BIQ1Q&$YL2[=BWFL M\37@2PY;L?>,="3WC'W3@P_9Q'+T@J" 5&H&HOX>8 9%H8G4,OYK.:W.I3;< M?]ZQOZMC5['<$P$S5GS-,[F>6",+9; DFT+>LNU[:.,)-%_*"E'_HFV+=2R4 M;H1D96NL5E#FM/DGW]L\[!DH'K,!;@UPW\!_Q,!K#;RG>O!; _^I'H+6H [= M;F*O$Y<02:9CSK:(:[1BTP]U]FMKE:^<:ITL)%=O:LA+0.\Y*]*D"3G1Q!7J=@"1Y(=XHR-TB0:]?O4&O4$[1 MYS7;"$(S,;:E6IQV8:?M0JZ:A>!'%N*A:T;E6J YS2 SV">G[>,3]K9*2I<9 MO,O,%3Y)N(#J''G.6X0=C WKF3W=W#6%\S+O\]_V?I ,KY.)5_/YC_"U0EAJ M(;!."*8J-SQAS:,/J8=IZ 2CL?VPGSH#*,;1(2@Y!KFQZ\>'J/DQ"DPIG_^X8;.7R;=#4F6#$DV'XCLH&1!5[)@((4V/,&^8@(< M>SV)&E">'P4]C1ZC(B\>^3V-&E 8[VV*@X##+N#P!1J=;[C*PI/$>=+-<\4Y M)%DR)-E\(+*#6D5=K:*!Q!D=2>7,"T9N3YP&%,:X)^'$@(H"IW^ 'J-H,T9XZK%4(>G.DE)4;"4Z.-4M0WH;U(1NK,YI=F3[I^KV2')DB') MY@.1'=0P[FH8#Z39^.@3?.8&8= [!6;$VPT/>"GG#M MO=:X!+ZJ[R0"I6Q#9=/^=+/=M>>R[O9[\U?NQL:\)7 MN>J6"U@J5\YYI/88;^XMS4"RJF[,[YE4;7[]N%97/> :H-XOF6K.VX%VT%T> MIS\!4$L#!!0 ( #QH9%40T&-:SP( %() 9 >&PO=V]R:W-H965T M[:=:64('*2VL[]QR?>XYB)UXP?BL* (GNJI**@55(69_9 MMD@+J+ X8350]63*>(6EFO+<%C4'G!E05=J>XX1VA0FUDMBL7?$D9C-9$@I7 M'(E956%^?P$E6PPLUUHM7).\D'K!3N(:YS &>5-?<36S6Y:,5$ %811QF ZL M<_=L&.EZ4_"#P$*LC9'N9,+8K9Y\R@:6HP5!":G4#%C]S6$(9:F)E(P_#:?5 M;JF!Z^,5^WO3N^IE@@4,6?F39+(86)&%,ICB62FOV>(C-/T$FB]EI3"_:-'4 M.A9*9T*RJ@$K!16ARW]\U_BP!G![CP"\!N ]%> W -\TNE1FVAIAB9.8LP7B MNEJQZ8'QQJ!5-X3J%,>2JZ=$X63RE4E KH^.T1ARE8Y$UU S+@G-U=H71O/C M4OFH<.#(W2 "$7?"S83 MF&8BMJ42J[>TTT;8Q5*8]XBP,=0GR'?>(,_QO [X<#=\!*F"NP;N;L)M95'K MD]?ZY!F^WB-\:TY@XT171TN*T%#HUV>>>,%I%(2Q/5]7WE$6.7[O?]F&0K]5 MZ.]4^*T&CDUN39("_;J$:@+\-_J+;BB12OM88@FBS7I5T-7,SMWTX7(F:IS" MP%*GAP ^!RMY_T"H,]HGLWX^K0?E)F.[=Y;F8O1+;A2-@Z$NZ?6?@@C, -_>VWK:/JU(^B M[L3ZK;[^'HE]QC6F3PILYR[/#>R%R#8,B5I#HOT#BQXHB;";Z7FT_HY)_4$L#!!0 ( #QH9%7,JY\"! 0 *L2 9 >&PO M=V]R:W-H965T#<3=]N'3A\4D#%=0*XDV]M_OQ(FQ,8*D[B\V$B<]#H:K)G_)M8 M4RK!]ZJLQ=1:2[FYM6V1KFE%Q W;T%J]63%>$:F:/+?%AE.2-:2JM)'C^'9% MBMJ:39J^>SZ;L*TLBYK>T9/NI!:VGCHQ.)2LJ6HN"U8#3U=1Z#V\3Z&I"@_BCH'MQ] QT*(^,?=.-3]G4R4C2_8-]B'0ND6R%9U9+5#*JB/OR3[^U"'!&4CIF M6@+J$[P7"&Y+<%\[@M<2O->.@%M"$[I]B+U9N)A(,IMPM@=KK,@97[Z[!.U#4X/[0H."2;FZ Z_P"D(.083[S MU].A*9S_-WIR\>@GB^%V3G$;/>\%O3;SIK0>B'Y#U#O3;@81#/2HN^/5,L&P MZZ%36'P.&'E.SX'G*!SX(>X9\!P%,?8CMV= RQ ""*S ?TN M1G\PQOGG.5B0=%W4C?D^%%S(="N'O3@RTMPJ?>" M<^\%RGT][QE0KH_#GO?.4="#H=,32PPP!"/LFKT7=C&&@S&Z,;CG12U;Y]54 M X:=-RCX5N>-*1:/*9:,)':2E:C+2G2I\Z)S&T0AZFU4">4'DO& []!PE&HSRBUQ3KO8\ MEFU3*8:=-ZCT9N>-J1:/JI:,I7::D^ :1.;WW?G8," M'_==9RA8L!_T3&4: MH-ZOF"K_VX8>H+N?FOT 4$L#!!0 ( #QH9%6A9WXL7 , "@5 - M>&POVS?)&Y[,[7D]&9*J?(6 M.1>SOC]5JGP?!+/QE.9D=E:45&@D*V1.E.[*23 K)27I#$@Y#]JM5ASDA E_ MT!/S_"I7,V]XB>M5JX,("8>+R?^"YM3+KCEO[]\]>F>$-[C:W4 M,?'N7KYWV,:$DTUA,_I8ZUC>,4+KM!PTD_\O^3JAD]A("1U##JH:'/2R0JQ+ M,?)M0*N3G'KWA/?](>%L)!FP,I(SOK3A-@3&!2^DI_0]H-.%$)D]6#BT/;@] M*IV%@QJH:6'5/.;^#9\2W;T%YDC7TSVRWJIC94-:V,[8!^4\UJ-V7/GZ7KE>R^ M4!_G>CK"]*&PZ;6D&5N8_B*K#6#J(:Y.RI(O/W V$3FUD]\[X:!'5CQO6DCV MH+-!J8QU@$K?NZ=2L7$S\D.2\I8NU*J<%AGNN7V GO_M.D^HH)+PIFE=^Z]Y ME9_M..J\E&7S5-DV[/18'0A>N\F+0S 9'X+)@ZC)[B&83 [ 9.?%GII/,1F^ M2I-!=11JG+:,*R:JWI2E*16/#EU:7I&1_C-P M0U^/3VE&YES=UF#?7[>_T)3-\Z0>=0T+48U:MS_#],*X/E+K7$RD=$'38=65 MDY%I>KJALU8?(&PC5^;C1C".Q=P(8%@>S '&L2PLS_\TGRXZ'XMAWKI.I(MR MNBC'LES(T'RQ/&Y.HC_NF29)%,4QMJ+#H=/!$%NW.(8?MQKF#1A8'LCTM+7& M=QNOD-UU@.WIK@K!9HI7(C93?*T!<:\;,)+$O=M8'F!@NX#5#N1WYX&:BNT3A&5B>&KWM_L+LDBI+$C0#F=A!%& )W(XY@#L # MAD21>0]NO8^"U7LJ6/]O=/ '4$L#!!0 ( #QH9%67BKL

M-8?20$3;8T.P6BP^0"X99K>]9!:GV[NPTWC%>U%X:#86AX%&*5_?K>-AE+]+)C532_UA,^FTE M)JR56K;RIV@6D]F$N9UY_62L_&FTYVI=6Z/48I(-!QZ%];+^K7@=(!_XQO4E MGF_N.8 L)O,9-+B5UOF^1M\^!\87 96'OV_\31K/=REHL3=VU0OLACE:H *C=3N[=A&G>BL7D4(6]TPW[ M1WL($EOIH2FH&ZX43KUJAJOV@!O%T%Y+.&!730]^/,@;V#=*-G#VAKWGBNM: ML#ZXCIW==!%DCD#F)X3\ED>0!0)9$$*N T3X@V-FRVY,NX\@2P2R/!GD>L=M M!%DAD-7I(LG=+H*<(Y#SXT+>0G9D&3N'^]')GNW."@?_^>_#?8$P7A PYL!X M+^H^$=6UZ2 1Z2> '4%>(I"7!) %0-[""5:Z-JU@=\*&AZ8UFD605PCD%0%D M&7J[1NJA9IS*9U@NGQ%05D#YT9CF52K%.*CGJ]]!.%?:QYBH\Q(POW#[+&"DI,",HNZL]%*,;DS,.MF1M=-37@'E2K] 36-_ MQ&28:K(CNV9(XS- 6WM3/Y]ON /I!&$+[?BHFS'99"2V";J!'-ZUG>K=.#S9 M !MC8K[)*(23Y7U']XG\@7\?WX68:#(*TV1!-6OQU(_,[\7>V.##&!'33$;A MF90,1R/='!--3B&:I YC9^>8:'(*T:1\.(XF.KLYI6K&F)AJ\I.J9M3IF&MR MPLX< Z_Z*$3'IY*>4SKC#,>GDIY3.&!.33DXBG3^F]=#S,29FGYS$/JD) MX^CQP0R4G]1 1;S6@AFHH#!0$K.,,3$#%10&2HERO'*%&:B@,% 2<]3IZ H; MA8&2/A]A8@8J* R4Q!S=FYB%"@H+)3&K&!.S4$%AH23F/,;$+%106"BUJ,'. M8DS,0@6%A9)CS=$CA%FHH+!0:JPYRILE9J&2PD))S#B:)6:ADL)"21%C8A8J2>9"*8 MF(4J$@NE,%W M< H'Y357]9UEX6=X"UM6X9W(ME/J!LJ^ZL^&-X>D! 2(@ &@ 'AL+U]R96QS+W=O )/[F/!00D5#B]B %28/D<269Q#)[HE"$8Y%08/F M5-;8\O5??;+&GK^D75NVW2%OMGV>'/>[0UXTFU+ZAQ#RAT.@O#SQG-X_SGS,GKJ4]_F=BM5MME>NJ6'_MT*+\, M#I_=\)XW*95F\MH.ZU0633CNKJ=SN!SDYCRYF3R_+9KA^4V:4#M((4CK!QD$ M6?T@AR"O'Q0A*-8/FD'0K'[0+03=U@^Z@Z"[^D'W$'1?/TBF*..4(&F$-8'6 M@EP+@=>"8 N!V()D"X'9@F@+@=J"; N!VX)P"X'<@G0+@=V"> N!WHIZ*X'> MBGHK@=XZ>MDFT%M1;R706U%O)=!;46\ET%M1;R706U%O)=!;46\ET%M1;R70 MVU!O(]#;4&\CT-M0;R/0VT:;)01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$ M>AOJ;01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'K[:+.;0&]'O9U ;T>]G4!O1[V= M0&]'O9U ;T>]G4#OB'I' KTCZAT)](ZH=R30.Z+>D4#OB'I' KWCZ&,E@=X1 M]8X$>D?4._ZGWKF<=BE?>[[7^/S_I+J<[TW7QU^6WR='[%QP#O +R.,74$L# M!!0 ( #QH9%6R:$G8U0$ +\A 3 6T-O;G1E;G1?5'EP97-=+GAM M;,W:74^#,!0&X+^R<&M&UZ_Y$>>->JM>^ .+HS#9M4T7%ED5H[M@+!05M2;DUE&71I;6MR:F1[]BSA1K MLR(F9K,Y*VP7J8O3V-?(KBYO:&DV39S<[M+K4-MND7EJ0C:YWD_LLQ:9<:ZI M"Q/3.-MVY9>4Z5M"GE8. MW7W6_*^+FGR8'R\,VV: MQ78-"_&EH9"/E_BF1[MG"=3AHHHMDV^+WHRGAS3#M/^RH_. M'\J,!::9#]ZZD$[,T^%Q[T?2KYZZ5(A\K,<_\2,QE3[Z^Z@_[9+*7V:G[7VV M?CV<1V##[?@]_GS&'_4/[$. ]"%!^E @?6B0/N8@?9R"]'$&TL&UL4$L! A0#% @ /&AD M5?] V*+8!0 \QX !@ ("!#0@ 'AL+W=O 8 M " @1L. !X;"]W;W)K&PO=V]R:W-H M965T&UL4$L! A0#% @ /&AD5?L4-M]/!@ AAX !@ M ("!B1@ 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ /&AD585OY_D)! 2PD !@ ("!2#L M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD M53U"Q";!! \ H !D ("!E48 'AL+W=O&PO=V]R:W-H965TI0( -$% 9 " @0U1 !X;"]W;W)K M&UL4$L! A0#% @ /&AD55$(,I7 P :@@ M !D ("!Z5, 'AL+W=O&AI!8($ #L"@ &0 @('@5P M>&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD52&KKWEE!@ ;A$ !D M ("!U%\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ /&AD50J1F^H"!@ .@X !D ("!36T 'AL+W=O M&PO=V]R:W-H965T]V M !X;"]W;W)K&UL4$L! A0#% @ /&AD5<&F M:%FE! &@L !D ("!?'H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD56T92C1U @ : 4 !D M ("!988 'AL+W=O@F-BN$$ J#P &0 @($1B0 >&PO M=V]R:W-H965T&UL4$L! A0#% @ /&AD55D14P68! $@T !D ("! MI)$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ /&AD5;*FQ&=$! !Q0 !D ("!5YT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD53;6#.B4 M! X!< !D ("!MZP 'AL+W=O9(" !0!@ &0 M@(&"L0 >&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD5?FKO@;% @ PP@ !D M ("!&KL 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ /&AD5&PO=V]R:W-H965T&UL4$L! A0#% @ M/&AD5;9: &&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD5<]XR= V P M;0H !D ("!'=\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD57N4?A)V P D X !D M ("!%>D 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ /&AD53EJU&3" P I \ !D ("!]_0 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD M5&PO=V]R:W-H965T&UL4$L! A0#% @ /&AD5:%G?BQ< P *!4 M T ( !\PL! 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ /&AD5?,@BWGI 0 $B( !H M ( ! !4! 'AL+U]R96QS+W=O XML 69 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 70 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 71 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.2.2 html 218 264 1 false 49 0 false 8 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.protolabs.com/20220930/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Balance Sheets (Current Period Unaudited) Sheet http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited Consolidated Balance Sheets (Current Period Unaudited) Statements 2 false false R3.htm 002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Sheet http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Statements 3 false false R4.htm 003 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited Consolidated Statements of Comprehensive Income (Unaudited) Statements 4 false false R5.htm 004 - Statement - Consolidated Statements of Shareholders' Equity (Unaudited) Sheet http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited Consolidated Statements of Shareholders' Equity (Unaudited) Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited Consolidated Statements of Cash Flows (Unaudited) Statements 6 false false R7.htm 006 - Disclosure - Note 1 - Basis of Presentation Sheet http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation Note 1 - Basis of Presentation Notes 7 false false R8.htm 007 - Disclosure - Note 2 - Recent Accounting Pronouncements Sheet http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements Note 2 - Recent Accounting Pronouncements Notes 8 false false R9.htm 008 - Disclosure - Note 3 - Net Income Per Common Share Sheet http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share Note 3 - Net Income Per Common Share Notes 9 false false R10.htm 009 - Disclosure - Note 4 - Business Combinations Sheet http://www.protolabs.com/20220930/role/statement-note-4-business-combinations Note 4 - Business Combinations Notes 10 false false R11.htm 010 - Disclosure - Note 5 - Goodwill and Other Intangible Assets Sheet http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets Note 5 - Goodwill and Other Intangible Assets Notes 11 false false R12.htm 011 - Disclosure - Note 6 - Assets Held for Sale Sheet http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale Note 6 - Assets Held for Sale Notes 12 false false R13.htm 012 - Disclosure - Note 7 - Fair Value Measurements Sheet http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements Note 7 - Fair Value Measurements Notes 13 false false R14.htm 013 - Disclosure - Note 8 - Marketable Securities Sheet http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities Note 8 - Marketable Securities Notes 14 false false R15.htm 014 - Disclosure - Note 9 - Inventory Sheet http://www.protolabs.com/20220930/role/statement-note-9-inventory Note 9 - Inventory Notes 15 false false R16.htm 015 - Disclosure - Note 10 - Stock-based Compensation Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation Note 10 - Stock-based Compensation Notes 16 false false R17.htm 016 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) Sheet http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss Note 11 - Accumulated Other Comprehensive Income (Loss) Notes 17 false false R18.htm 017 - Disclosure - Note 12 - Income Taxes Sheet http://www.protolabs.com/20220930/role/statement-note-12-income-taxes Note 12 - Income Taxes Notes 18 false false R19.htm 018 - Disclosure - Note 13 - Segment Reporting Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting Note 13 - Segment Reporting Notes 19 false false R20.htm 019 - Disclosure - Note 3 - Net Income Per Common Share (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables Note 3 - Net Income Per Common Share (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share 20 false false R21.htm 020 - Disclosure - Note 4 - Business Combinations (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables Note 4 - Business Combinations (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-4-business-combinations 21 false false R22.htm 021 - Disclosure - Note 5 - Goodwill and Other Intangible Assets (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables Note 5 - Goodwill and Other Intangible Assets (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets 22 false false R23.htm 022 - Disclosure - Note 7 - Fair Value Measurements (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables Note 7 - Fair Value Measurements (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements 23 false false R24.htm 023 - Disclosure - Note 8 - Marketable Securities (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables Note 8 - Marketable Securities (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities 24 false false R25.htm 024 - Disclosure - Note 9 - Inventory (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables Note 9 - Inventory (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-9-inventory 25 false false R26.htm 025 - Disclosure - Note 10 - Stock-based Compensation (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables Note 10 - Stock-based Compensation (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation 26 false false R27.htm 026 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables Note 11 - Accumulated Other Comprehensive Income (Loss) (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss 27 false false R28.htm 027 - Disclosure - Note 13 - Segment Reporting (Tables) Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables Note 13 - Segment Reporting (Tables) Tables http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting 28 false false R29.htm 028 - Disclosure - Note 1 - Basis of Presentation (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual Note 1 - Basis of Presentation (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation 29 false false R30.htm 029 - Disclosure - Note 3 - Net Income Per Common Share (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual Note 3 - Net Income Per Common Share (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables 30 false false R31.htm 030 - Disclosure - Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Details 31 false false R32.htm 031 - Disclosure - Note 4 - Business Combinations (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual Note 4 - Business Combinations (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables 32 false false R33.htm 032 - Disclosure - Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details) Details 33 false false R34.htm 033 - Disclosure - Note 5 - Goodwill and Other Intangible Assets (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual Note 5 - Goodwill and Other Intangible Assets (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables 34 false false R35.htm 034 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details) Details 35 false false R36.htm 035 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Details 36 false false R37.htm 036 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Details 37 false false R38.htm 037 - Disclosure - Note 6 - Assets Held for Sale (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual Note 6 - Assets Held for Sale (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale 38 false false R39.htm 038 - Disclosure - Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Details 39 false false R40.htm 039 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details) Details 40 false false R41.htm 040 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details) Details 41 false false R42.htm 041 - Disclosure - Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Details 42 false false R43.htm 042 - Disclosure - Note 9 - Inventory - Inventory (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details Note 9 - Inventory - Inventory (Details) Details 43 false false R44.htm 043 - Disclosure - Note 10 - Stock-based Compensation (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual Note 10 - Stock-based Compensation (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables 44 false false R45.htm 044 - Disclosure - Note 10 - Stock-based Compensation - Stock Option Activity (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details Note 10 - Stock-based Compensation - Stock Option Activity (Details) Details 45 false false R46.htm 045 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details) Details 46 false false R47.htm 046 - Disclosure - Note 10 - Stock-based Compensation - Restricted Stock Options (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details Note 10 - Stock-based Compensation - Restricted Stock Options (Details) Details 47 false false R48.htm 047 - Disclosure - Note 10 - Stock-based Compensation - Performance Stock (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details Note 10 - Stock-based Compensation - Performance Stock (Details) Details 48 false false R49.htm 048 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Details 49 false false R50.htm 049 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) Details 50 false false R51.htm 050 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details) Details http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables 51 false false R52.htm 051 - Disclosure - Note 12 - Income Taxes (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual Note 12 - Income Taxes (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-12-income-taxes 52 false false R53.htm 052 - Disclosure - Note 13 - Segment Reporting (Details Textual) Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual Note 13 - Segment Reporting (Details Textual) Details http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables 53 false false R54.htm 053 - Disclosure - Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Details 54 false false R55.htm 054 - Disclosure - Note 13 - Segment Reporting - Income From Operations (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details Note 13 - Segment Reporting - Income From Operations (Details) Details 55 false false R56.htm 055 - Disclosure - Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Details 56 false false R57.htm 056 - Disclosure - Note 13 - Segment Reporting - Disaggregation of Revenue (Details) Sheet http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details Note 13 - Segment Reporting - Disaggregation of Revenue (Details) Details 57 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 35 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityRegistrantName, prlb:EmployeeStockPurchasePlanOfferingPeriod, prlb:PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit, us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent, us-gaap:AmortizationOfIntangibleAssets, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization, us-gaap:FiniteLivedIntangibleAssetsGross, us-gaap:FiniteLivedIntangibleAssetsNet, us-gaap:FinitelivedIntangibleAssetsAcquired1, us-gaap:PreferredStockParOrStatedValuePerShare, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod - prlb20220930_10q.htm 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 prlb20220930_10q.htm ex_415126.htm ex_415127.htm ex_415128.htm prlb-20220930.xsd prlb-20220930_cal.xml prlb-20220930_def.xml prlb-20220930_lab.xml prlb-20220930_pre.xml http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 74 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "prlb20220930_10q.htm": { "axisCustom": 0, "axisStandard": 19, "contextCount": 218, "dts": { "calculationLink": { "local": [ "prlb-20220930_cal.xml" ] }, "definitionLink": { "local": [ "prlb-20220930_def.xml" ] }, "inline": { "local": [ "prlb20220930_10q.htm" ] }, "labelLink": { "local": [ "prlb-20220930_lab.xml" ] }, "presentationLink": { "local": [ "prlb-20220930_pre.xml" ] }, "schema": { "local": [ "prlb-20220930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/currency/2022/currency-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd", "https://xbrl.sec.gov/exch/2022/exch-2022.xsd", "https://xbrl.sec.gov/naics/2022/naics-2022.xsd", "https://xbrl.sec.gov/sic/2022/sic-2022.xsd", "https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd" ] } }, "elementCount": 409, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 32, "http://www.protolabs.com/20220930": 2, "http://xbrl.sec.gov/dei/2022": 6, "total": 40 }, "keyCustom": 19, "keyStandard": 245, "memberCustom": 16, "memberStandard": 31, "nsprefix": "prlb", "nsuri": "http://www.protolabs.com/20220930", "report": { "R1": { "firstAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "000 - Document - Document And Entity Information", "role": "http://www.protolabs.com/20220930/role/statement-document-and-entity-information", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "009 - Disclosure - Note 4 - Business Combinations", "role": "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "shortName": "Note 4 - Business Combinations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "010 - Disclosure - Note 5 - Goodwill and Other Intangible Assets", "role": "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "shortName": "Note 5 - Goodwill and Other Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:DisclosureOfAssetsHeldForSaleTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "011 - Disclosure - Note 6 - Assets Held for Sale", "role": "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "shortName": "Note 6 - Assets Held for Sale", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:DisclosureOfAssetsHeldForSaleTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "012 - Disclosure - Note 7 - Fair Value Measurements", "role": "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements", "shortName": "Note 7 - Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "013 - Disclosure - Note 8 - Marketable Securities", "role": "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities", "shortName": "Note 8 - Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "014 - Disclosure - Note 9 - Inventory", "role": "http://www.protolabs.com/20220930/role/statement-note-9-inventory", "shortName": "Note 9 - Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "015 - Disclosure - Note 10 - Stock-based Compensation", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "shortName": "Note 10 - Stock-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "016 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss)", "role": "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss", "shortName": "Note 11 - Accumulated Other Comprehensive Income (Loss)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "017 - Disclosure - Note 12 - Income Taxes", "role": "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes", "shortName": "Note 12 - Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "018 - Disclosure - Note 13 - Segment Reporting", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "shortName": "Note 13 - Segment Reporting", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "001 - Statement - Consolidated Balance Sheets (Current Period Unaudited)", "role": "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "shortName": "Consolidated Balance Sheets (Current Period Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "019 - Disclosure - Note 3 - Net Income Per Common Share (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables", "shortName": "Note 3 - Net Income Per Common Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "020 - Disclosure - Note 4 - Business Combinations (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "shortName": "Note 4 - Business Combinations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "021 - Disclosure - Note 5 - Goodwill and Other Intangible Assets (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables", "shortName": "Note 5 - Goodwill and Other Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "022 - Disclosure - Note 7 - Fair Value Measurements (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables", "shortName": "Note 7 - Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "023 - Disclosure - Note 8 - Marketable Securities (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables", "shortName": "Note 8 - Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "024 - Disclosure - Note 9 - Inventory (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables", "shortName": "Note 9 - Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "025 - Disclosure - Note 10 - Stock-based Compensation (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables", "shortName": "Note 10 - Stock-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "026 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables", "shortName": "Note 11 - Accumulated Other Comprehensive Income (Loss) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "027 - Disclosure - Note 13 - Segment Reporting (Tables)", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables", "shortName": "Note 13 - Segment Reporting (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "prlb:DisposalGroupOperatingExpense", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "028 - Disclosure - Note 1 - Basis of Presentation (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "shortName": "Note 1 - Basis of Presentation (Details Textual)", "subGroupType": "details", "uniqueAnchor": null }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "role": "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "shortName": "Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "em", "p", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "029 - Disclosure - Note 3 - Net Income Per Common Share (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual", "shortName": "Note 3 - Net Income Per Common Share (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "em", "p", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "030 - Disclosure - Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "shortName": "Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "INF", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "031 - Disclosure - Note 4 - Business Combinations (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "shortName": "Note 4 - Business Combinations (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2021-01-22_2021-01-22_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": "INF", "lang": null, "name": "us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "032 - Disclosure - Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "shortName": "Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-01-22_BusinessAcquisitionAxis-Acquired3dHubsMember", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-4", "first": true, "lang": null, "name": "prlb:GoodwillWrittenOff", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "033 - Disclosure - Note 5 - Goodwill and Other Intangible Assets (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual", "shortName": "Note 5 - Goodwill and Other Intangible Assets (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-5", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "034 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "shortName": "Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "035 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "shortName": "Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "036 - Disclosure - Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "shortName": "Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GainLossOnSaleOfPropertyPlantEquipment", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "037 - Disclosure - Note 6 - Assets Held for Sale (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual", "shortName": "Note 6 - Assets Held for Sale (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "prlb:DisclosureOfAssetsHeldForSaleTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-06-30_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis-FacilityInMaplePlainMinnesotaMember", "decimals": "INF", "lang": null, "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "SquareFoot", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "038 - Disclosure - Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "shortName": "Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "003 - Statement - Consolidated Statements of Comprehensive Income (Unaudited)", "role": "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "039 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "shortName": "Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:HeldToMaturitySecuritiesTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecurities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "040 - Disclosure - Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "shortName": "Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:HeldToMaturitySecuritiesTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecurities", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "041 - Disclosure - Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "shortName": "Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "042 - Disclosure - Note 9 - Inventory - Inventory (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details", "shortName": "Note 9 - Inventory - Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "043 - Disclosure - Note 10 - Stock-based Compensation (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "shortName": "Note 10 - Stock-based Compensation (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "044 - Disclosure - Note 10 - Stock-based Compensation - Stock Option Activity (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details", "shortName": "Note 10 - Stock-based Compensation - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30_AwardTypeAxis-EmployeeStockOptionMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "045 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "shortName": "Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30_AwardTypeAxis-EmployeeStockOptionMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "046 - Disclosure - Note 10 - Stock-based Compensation - Restricted Stock Options (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details", "shortName": "Note 10 - Stock-based Compensation - Restricted Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "047 - Disclosure - Note 10 - Stock-based Compensation - Performance Stock (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "shortName": "Note 10 - Stock-based Compensation - Performance Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "prlb:ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2021-01-01_2021-09-30_AwardTypeAxis-PerformanceSharesMember", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "048 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "shortName": "Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "prlb:ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2021-01-01_2021-09-30_AwardTypeAxis-PerformanceSharesMember", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "004 - Statement - Consolidated Statements of Shareholders' Equity (Unaudited)", "role": "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "shortName": "Consolidated Statements of Shareholders' Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2021-01-01_2021-03-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30_PlanNameAxis-EmployeeStockPurchasePlanMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "049 - Disclosure - Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "shortName": "Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30_PlanNameAxis-EmployeeStockPurchasePlanMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "050 - Disclosure - Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "shortName": "Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:OciBeforeReclassificationsNetOfTaxAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "051 - Disclosure - Note 12 - Income Taxes (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual", "shortName": "Note 12 - Income Taxes (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "prlb:DisposalGroupOperatingExpense", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "052 - Disclosure - Note 13 - Segment Reporting (Details Textual)", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "shortName": "Note 13 - Segment Reporting (Details Textual)", "subGroupType": "details", "uniqueAnchor": null }, "R54": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "053 - Disclosure - Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "shortName": "Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30_ConsolidationItemsAxis-OperatingSegmentsMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "054 - Disclosure - Note 13 - Segment Reporting - Income From Operations (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "shortName": "Note 13 - Segment Reporting - Income From Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-UnitedStatesSegmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "055 - Disclosure - Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "shortName": "Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "i_2022-09-30_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-UnitedStatesSegmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "056 - Disclosure - Note 13 - Segment Reporting - Disaggregation of Revenue (Details)", "role": "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details", "shortName": "Note 13 - Segment Reporting - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-07-01_2022-09-30_ProductOrServiceAxis-InjectionMoldingProtomoldMember", "decimals": "-4", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "005 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "006 - Disclosure - Note 1 - Basis of Presentation", "role": "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "shortName": "Note 1 - Basis of Presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "007 - Disclosure - Note 2 - Recent Accounting Pronouncements", "role": "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements", "shortName": "Note 2 - Recent Accounting Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "008 - Disclosure - Note 3 - Net Income Per Common Share", "role": "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share", "shortName": "Note 3 - Net Income Per Common Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20220930_10q.htm", "contextRef": "d_2022-01-01_2022-09-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 49, "tag": { "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "auth_ref": [], "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": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r498" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r499" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "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'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-document-and-entity-information", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables", "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20220930/role/statement-note-9-inventory", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "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.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r507" ], "lang": { "en-us": { "role": { "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).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-document-and-entity-information", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables", "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20220930/role/statement-note-9-inventory", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r495" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-document-and-entity-information" ], "xbrltype": "tradingSymbolItemType" }, "prlb_Acquired3dHubsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents acquired 3D Hubs.", "label": "Acquired 3D Hubs [Member]" } } }, "localname": "Acquired3dHubsMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as current", "label": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent", "terseLabel": "Current contingent consideration" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityCurrent", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date, classified as noncurrent.", "label": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent", "terseLabel": "Long-term contingent consideration" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiabilityNoncurrent", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets acquired including goodwill at the acquisition date", "label": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "totalLabel": "Total assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "prlb_CNCMachiningFirstcutMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the CNC Machining (Firstcut) product.", "label": "CNC Machining (Firstcut) [Member]" } } }, "localname": "CNCMachiningFirstcutMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_CorporateUnallocatedAndJapanSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Segment for corporate unallocated expenses and Japan.", "label": "Corporate Unallocated and Japan Segment[Member]" } } }, "localname": "CorporateUnallocatedAndJapanSegmentMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details" ], "xbrltype": "domainItemType" }, "prlb_DisclosureOfAssetsHeldForSaleTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for assets held-for-sale.", "label": "Disclosure of Assets Held-for-sale [Text Block]" } } }, "localname": "DisclosureOfAssetsHeldForSaleTextBlock", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale" ], "xbrltype": "textBlockItemType" }, "prlb_DisposalGroupEmployeeSeveranceOperatingExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of employee severance, operating expense, attributable to disposal group.", "label": "prlb_DisposalGroupEmployeeSeveranceOperatingExpense", "terseLabel": "Disposal Group, Employee Severance, Operating Expense" } } }, "localname": "DisposalGroupEmployeeSeveranceOperatingExpense", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_DisposalGroupFacilityrelatedChargesOperatingExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of facility-related charges, operating expense, attributable to disposal group.", "label": "prlb_DisposalGroupFacilityrelatedChargesOperatingExpense", "terseLabel": "Disposal Group, Facility-related Charges, Operating Expense" } } }, "localname": "DisposalGroupFacilityrelatedChargesOperatingExpense", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_DisposalGroupOperatingExpense": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating expense from disposal group.", "label": "Closure of Japan business", "terseLabel": "Disposal Group, Operating Expense" } } }, "localname": "DisposalGroupOperatingExpense", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_DisposalGroupOtherClosureRelatedChargesOperatingExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other closure related charges, operating expense, attributable to disposal group..", "label": "prlb_DisposalGroupOtherClosureRelatedChargesOperatingExpense", "terseLabel": "Disposal Group, Other Closure Related Charges, Operating Expense" } } }, "localname": "DisposalGroupOtherClosureRelatedChargesOperatingExpense", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_DisposalGroupWritedownOfFixedAssetsOperatingExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of write down of fixed assets, operating expense, attributable to disposal group.", "label": "prlb_DisposalGroupWritedownOfFixedAssetsOperatingExpense", "terseLabel": "Disposal Group, Write-down of Fixed Assets, Operating Expense" } } }, "localname": "DisposalGroupWritedownOfFixedAssetsOperatingExpense", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_ESPPMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ESPP [member", "label": "ESPP [Member]" } } }, "localname": "ESPPMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "terseLabel": "Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "prlb_EmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Employee Stock Purchase Plan.", "label": "Employee Stock Purchase Plan [Member]" } } }, "localname": "EmployeeStockPurchasePlanMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "domainItemType" }, "prlb_EmployeeStockPurchasePlanOfferingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The offering period during which employees may purchase stock through the Employee Stock Purchase Plan.", "label": "prlb_EmployeeStockPurchasePlanOfferingPeriod", "terseLabel": "Employee Stock Purchase Plan, Offering Period (Month)" } } }, "localname": "EmployeeStockPurchasePlanOfferingPeriod", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "prlb_EuropeSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Operating segment for Europe", "label": "Europe Segment [Member]" } } }, "localname": "EuropeSegmentMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_FacilityInMaplePlainMinnesotaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to facility in Maple Plain, Minnesota.", "label": "Facility in Maple Plain, Minnesota [Member]" } } }, "localname": "FacilityInMaplePlainMinnesotaMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "domainItemType" }, "prlb_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "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": "prlb_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour", "terseLabel": "Thereafter" } } }, "localname": "FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "prlb_GoodwillWrittenOff": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of write-off of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "prlb_GoodwillWrittenOff", "negatedLabel": "Goodwill written off during the period", "terseLabel": "Goodwill, Written Off" } } }, "localname": "GoodwillWrittenOff", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "prlb_IncomeFromOperationsByGeographicAreaTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income from operations by geographic area.", "label": "Income from Operations by Geographic Area [Table Text Block]" } } }, "localname": "IncomeFromOperationsByGeographicAreaTableTextBlock", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "prlb_InjectionMoldingProtomoldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Injection Molding (Protomold) product.", "label": "Injection Molding (Protomold) [Member]" } } }, "localname": "InjectionMoldingProtomoldMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_JapanSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Operating segment for Japan.", "label": "Japan Segment [Member]" } } }, "localname": "JapanSegmentMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_LongtermIncentivePlan2012Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the 2012 Long-Term Incentive Plan.", "label": "Long-Term Incentive Plan 2012 [Member]" } } }, "localname": "LongtermIncentivePlan2012Member", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "prlb_ManufacturingFacilityInJapanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents manufacturing facility in Japan.", "label": "Manufacturing Facility in Japan [Member]" } } }, "localname": "ManufacturingFacilityInJapanMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "prlb_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_OtherProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents other products.", "label": "Other Products [Member]" } } }, "localname": "OtherProductsMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment.", "label": "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "terseLabel": "Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit" } } }, "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment.", "label": "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "terseLabel": "Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit" } } }, "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "prlb_ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the valuation assumptions of share-based payment awards other than stock options.", "label": "Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "prlb_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Performance change (in shares)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details" ], "xbrltype": "sharesItemType" }, "prlb_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options.", "label": "Performance change, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details" ], "xbrltype": "perShareItemType" }, "prlb_SheetMetalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to sheet metal.", "label": "Sheet Metal [Member]" } } }, "localname": "SheetMetalMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_SoftwarePlatformMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to software platform.", "label": "Software Platform [Member]" } } }, "localname": "SoftwarePlatformMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "prlb_ThreeDPrintingFinelineMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the 3D Printing (Fineline) product.", "label": "3D Printing (Fineline) [Member]" } } }, "localname": "ThreeDPrintingFinelineMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "prlb_UnitedStatesSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Operating segment for United States.", "label": "United States Segment [Member]" } } }, "localname": "UnitedStatesSegmentMember", "nsuri": "http://www.protolabs.com/20220930", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation - Assumptions Used in the Black-Scholes Option Pricing Model (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-performance-stock-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation - Performance Stock (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-performance-stock-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-restricted-stock-options-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation - Restricted Stock Options (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-restricted-stock-options-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-stock-option-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation - Stock Option Activity (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-stock-option-activity-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-10-stockbased-compensation-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation" } } }, "localname": "statement-statement-note-10-stockbased-compensation-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Accumulated Other Comprehensive Income (Loss) - Other Comprehensive Loss (Details)" } } }, "localname": "statement-statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-11-accumulated-other-comprehensive-income-loss-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "statement-statement-note-11-accumulated-other-comprehensive-income-loss-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-segment-reporting-disaggregation-of-revenue-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Reporting - Disaggregation of Revenue (Details)" } } }, "localname": "statement-statement-note-13-segment-reporting-disaggregation-of-revenue-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-segment-reporting-income-from-operations-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Reporting - Income From Operations (Details)" } } }, "localname": "statement-statement-note-13-segment-reporting-income-from-operations-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Reporting - Long-lived Assets by Geographic Region (Details)" } } }, "localname": "statement-statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)" } } }, "localname": "statement-statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-13-segment-reporting-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Reporting" } } }, "localname": "statement-statement-note-13-segment-reporting-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)" } } }, "localname": "statement-statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-3-net-income-per-common-share-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Net Income Per Common Share" } } }, "localname": "statement-statement-note-3-net-income-per-common-share-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Business Combinations - Allocation of Purchase Price for the Acquisition of Rapid (Details)" } } }, "localname": "statement-statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-business-combinations-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Business Combinations" } } }, "localname": "statement-statement-note-4-business-combinations-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Goodwill and Other Intangible Assets - Changes in the Carrying Amount of Goodwill (Details)" } } }, "localname": "statement-statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)" } } }, "localname": "statement-statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)" } } }, "localname": "statement-statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-goodwill-and-other-intangible-assets-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Goodwill and Other Intangible Assets" } } }, "localname": "statement-statement-note-5-goodwill-and-other-intangible-assets-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)" } } }, "localname": "statement-statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-7-fair-value-measurements-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Fair Value Measurements" } } }, "localname": "statement-statement-note-7-fair-value-measurements-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)" } } }, "localname": "statement-statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities - Short-term and Long-term Available for Sale Securities (Details)" } } }, "localname": "statement-statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities - Short-term and Long-term Held-to-Maturity Securities (Details)" } } }, "localname": "statement-statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-marketable-securities-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Marketable Securities" } } }, "localname": "statement-statement-note-8-marketable-securities-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-9-inventory-inventory-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Inventory - Inventory (Details)" } } }, "localname": "statement-statement-note-9-inventory-inventory-details", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-9-inventory-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Inventory" } } }, "localname": "statement-statement-note-9-inventory-tables", "nsuri": "http://www.protolabs.com/20220930", "xbrltype": "stringItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r89", "r125", "r137", "r138", "r139", "r140", "r141", "r143", "r147", "r238", "r239", "r240", "r241", "r242", "r243", "r245", "r246", "r248", "r250", "r251" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r89", "r125", "r137", "r138", "r139", "r140", "r141", "r143", "r147", "r238", "r239", "r240", "r241", "r242", "r243", "r245", "r246", "r248", "r250", "r251" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r234", "r235", "r236", "r237", "r253", "r259", "r277", "r279", "r414", "r415", "r416", "r417", "r418", "r419", "r438", "r471", "r474", "r492", "r493" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r234", "r235", "r236", "r237", "r253", "r259", "r277", "r279", "r414", "r415", "r416", "r417", "r418", "r419", "r438", "r471", "r474", "r492", "r493" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "srt_MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis": { "auth_ref": [ "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491" ], "lang": { "en-us": { "role": { "label": "Real Estate, Type of Property [Axis]" } } }, "localname": "MortgageLoansOnRealEstateDescriptionTypeOfPropertyAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "stringItemType" }, "srt_MortgageLoansOnRealEstateNamePropertyTypeDomain": { "auth_ref": [ "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491" ], "lang": { "en-us": { "role": { "label": "Real Estate [Domain]" } } }, "localname": "MortgageLoansOnRealEstateNamePropertyTypeDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r149", "r235", "r236", "r264", "r265", "r440", "r470", "r472" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r149", "r235", "r236", "r264", "r265", "r440", "r470", "r472" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r230", "r234", "r235", "r236", "r237", "r253", "r259", "r267", "r277", "r279", "r311", "r312", "r313", "r414", "r415", "r416", "r417", "r418", "r419", "r438", "r471", "r474", "r492", "r493" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r230", "r234", "r235", "r236", "r237", "r253", "r259", "r267", "r277", "r279", "r311", "r312", "r313", "r414", "r415", "r416", "r417", "r418", "r419", "r438", "r471", "r474", "r492", "r493" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r150", "r151", "r264", "r266", "r473", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r150", "r151", "r264", "r266", "r473", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r31", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "us-gaap_AccountsPayableCurrent", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r157", "r158" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Accounts receivable, net of allowance for doubtful accounts of $1,821 and $1,948 as of September 30, 2022, and December 31, 2021, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r80" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments", "negatedLabel": "Other" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r15", "r446", "r459" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Income taxes payable" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.", "label": "Accrued liabilities and other" } } }, "localname": "AccruedLiabilitiesAndOtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "auth_ref": [ "r40", "r41", "r42", "r46", "r53", "r54", "r55" ], "lang": { "en-us": { "role": { "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent.", "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]" } } }, "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r21", "r44", "r45", "r46", "r460", "r479", "r480" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r43", "r46", "r53", "r54", "r55", "r91", "r92", "r93", "r376", "r404", "r475", "r476" ], "lang": { "en-us": { "role": { "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.", "label": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r39", "r46", "r53", "r54", "r55", "r376", "r395", "r396", "r397", "r398", "r399" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from 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 the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r19" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r91", "r92", "r93", "r322", "r323", "r324", "r381" ], "lang": { "en-us": { "role": { "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.", "label": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r280", "r325", "r326" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r315" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "us-gaap_AllocatedShareBasedCompensationExpense", "terseLabel": "Share-Based Payment Arrangement, Expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r25", "r159", "r187" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r79", "r213", "r219" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of Intangible Assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "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.", "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_AreaOfRealEstateProperty": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of a real estate property.", "label": "us-gaap_AreaOfRealEstateProperty", "terseLabel": "Area of Real Estate Property (Square Foot)" } } }, "localname": "AreaOfRealEstateProperty", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "areaItemType" }, "us-gaap_Assets": { "auth_ref": [ "r14", "r84", "r133", "r139", "r145", "r183", "r238", "r239", "r240", "r242", "r243", "r244", "r245", "r247", "r249", "r251", "r252", "r373", "r377", "r392", "r405", "r407", "r445", "r458" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r7", "r30", "r84", "r183", "r238", "r239", "r240", "r242", "r243", "r244", "r245", "r247", "r249", "r251", "r252", "r373", "r377", "r392", "r405", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r384" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsFairValueDisclosure", "terseLabel": "Total" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsHeldForSaleNotPartOfDisposalGroup": { "auth_ref": [ "r223" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets held-for-sale that are not part of a disposal group.", "label": "us-gaap_AssetsHeldForSaleNotPartOfDisposalGroup", "terseLabel": "Assets Held-for-sale, Not Part of Disposal Group, Total" } } }, "localname": "AssetsHeldForSaleNotPartOfDisposalGroup", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r166" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "terseLabel": "Unrealized Gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r167" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "negatedTerseLabel": "Unrealized Losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r164", "r193" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "terseLabel": "Amortized Cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": 0.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next rolling fiscal year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.", "label": "Due in one year or less" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesNextRollingTwelveMonthsFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoThroughFiveFairValue": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security, measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next rolling fiscal year through fifth year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.", "label": "Due after one year through five years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoThroughFiveFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r162", "r165", "r193", "r448" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Marketable securities", "terseLabel": "Fair Value", "totalLabel": "Total marketable securities" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r283", "r284", "r285", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r296", "r297", "r298", "r299", "r300", "r301", "r304", "r305", "r307", "r308", "r310", "r311", "r312", "r313", "r314" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "stringItemType" }, "us-gaap_BankTimeDepositsMember": { "auth_ref": [ "r454" ], "lang": { "en-us": { "role": { "documentation": "Certificates of deposit (CD) or savings accounts with a fixed term or understanding the customer can only withdraw by giving advanced notice with a bank or other financial institution. A CD is a short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest.", "label": "Bank Time Deposits [Member]" } } }, "localname": "BankTimeDepositsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r276", "r278", "r356" ], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r276", "r278", "r352", "r353", "r356" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": { "auth_ref": [ "r367" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of equity interests issued or issuable to acquire entity.", "label": "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "terseLabel": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)" } } }, "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r363", "r364", "r365" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_BusinessCombinationConsiderationTransferred1", "terseLabel": "Business Combination, Consideration Transferred, Total", "totalLabel": "Total purchase consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "auth_ref": [ "r363", "r364" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.", "label": "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "terseLabel": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable" } } }, "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r78", "r369" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Fair value of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "auth_ref": [ "r368" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "terseLabel": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r357", "r370" ], "lang": { "en-us": { "role": { "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).", "label": "Business Combination Disclosure [Text Block]" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets acquired:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "terseLabel": "Current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities", "terseLabel": "Current liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "terseLabel": "Long-term deferred tax liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 3.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets", "terseLabel": "Intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "totalLabel": "Total liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities assumed:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "terseLabel": "Other long-term assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r354" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "totalLabel": "Net assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAcquiredFromAcquisition": { "auth_ref": [ "r69" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 0.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "us-gaap_CashAcquiredFromAcquisition", "negatedTerseLabel": "Cash acquired" } } }, "localname": "CashAcquiredFromAcquisition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r5", "r10", "r81" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r76", "r81", "r82" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; 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.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r76", "r393" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Net decrease in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashMember": { "auth_ref": [ "r10" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Cash [Member]" } } }, "localname": "CashMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": { "auth_ref": [ "r268", "r389" ], "lang": { "en-us": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents.", "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]" } } }, "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r91", "r92", "r381" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "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.", "label": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r17", "r261" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common stock, shares outstanding (in shares)", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r17", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 27,326,750 and 27,465,945 shares as of September 30, 2022, and December 31, 2021, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r49", "r51", "r52", "r59", "r452", "r466" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Comprehensive income (loss)" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss) (net of tax)" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r214", "r217", "r362" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_ContingentConsiderationByTypeAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of contingent consideration.", "label": "Contingent Consideration by Type [Axis]" } } }, "localname": "ContingentConsiderationByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ContingentConsiderationTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of contingent payment arrangement.", "label": "Contingent Consideration Type [Domain]" } } }, "localname": "ContingentConsiderationTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateDebtSecuritiesMember": { "auth_ref": [ "r268", "r275", "r481" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.", "label": "Corporate Debt Securities [Member]" } } }, "localname": "CorporateDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r63", "r440" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r361" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "auth_ref": [ "r178" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale [Table Text Block]" } } }, "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r79", "r85", "r338", "r343", "r344", "r345" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r330", "r331" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Long-term deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r79", "r128" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r264" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r282", "r283", "r316", "r317", "r319", "r327" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-Based Payment Arrangement [Text Block]" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfReclassificationAmountTextBlock": { "auth_ref": [ "r66" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any adjustments made during the period to avoid double counting in comprehensive income items displayed as part of net income that also had been displayed as part of other comprehensive income in that period or earlier periods. These adjustments include reclassifications to net income of items in accumulated comprehensive income, such as deferred gains or losses on qualifying hedges when hedged item reported in net income, holding gains or losses on available-for-sale securities transferred into trading category, unrealized holding gains or losses on debt securities transferred from held-to-maturity category into available-for-sale category and accumulated translation adjustment attributable to foreign subsidiary or investment in foreign entity upon sale or liquidation.", "label": "Disclosure of Reclassification Amount [Text Block]" } } }, "localname": "DisclosureOfReclassificationAmountTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20220930/role/statement-note-9-inventory" ], "xbrltype": "stringItemType" }, "us-gaap_DisposalGroupClassificationAxis": { "auth_ref": [ "r2" ], "lang": { "en-us": { "role": { "documentation": "Information by disposal group classification.", "label": "Disposal Group Classification [Axis]" } } }, "localname": "DisposalGroupClassificationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_DisposalGroupClassificationDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations.", "label": "Disposal Group Classification [Domain]" } } }, "localname": "DisposalGroupClassificationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_DisposalGroupDisposedOfByMeansOtherThanSaleNotDiscontinuedOperationsMember": { "auth_ref": [ "r224", "r225" ], "lang": { "en-us": { "role": { "documentation": "Disposal group that is disposed of other than by sale. For example, but not limited to, abandonment, in an exchange measured based on the recorded amount of the nonmonetary asset relinquished, or in a distribution to owners in a spinoff. Excludes disposals classified as discontinued operations.", "label": "Disposal Group, Disposed of by Means Other than Sale, Not Discontinued Operations [Member]" } } }, "localname": "DisposalGroupDisposedOfByMeansOtherThanSaleNotDiscontinuedOperationsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_DisposalGroupNotDiscontinuedOperationLossGainOnWriteDown": { "auth_ref": [ "r79", "r225", "r227" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of (gain) loss recognized for the (reversal of write-down) write-down to fair value, less cost to sell, of a disposal group. Excludes discontinued operations.", "label": "Impairments related to closure of Japan business" } } }, "localname": "DisposalGroupNotDiscontinuedOperationLossGainOnWriteDown", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": { "auth_ref": [ "r276", "r278" ], "lang": { "en-us": { "role": { "documentation": "Name of disposal group.", "label": "Disposal Group Name [Domain]" } } }, "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net income per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r60", "r96", "r97", "r98", "r99", "r100", "r104", "r106", "r111", "r112", "r113", "r117", "r118", "r382", "r383", "r453", "r467" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Basic (in dollars per share)", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r60", "r96", "r97", "r98", "r99", "r100", "r106", "r111", "r112", "r113", "r117", "r118", "r382", "r383", "r453", "r467" ], "lang": { "en-us": { "role": { "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.", "label": "Diluted (in dollars per share)", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r114", "r115", "r116", "r119" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r393" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r333" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent, Total" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r86", "r333", "r346" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r318" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r318" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement, Option [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r53", "r54", "r55", "r91", "r92", "r93", "r95", "r101", "r103", "r120", "r186", "r261", "r262", "r322", "r323", "r324", "r339", "r340", "r381", "r394", "r395", "r396", "r397", "r398", "r399", "r404", "r475", "r476", "r477" ], "lang": { "en-us": { "role": { "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.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r384", "r385" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "auth_ref": [ "r388" ], "lang": { "en-us": { "role": { "documentation": "Class of asset.", "label": "Asset Class [Domain]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueByAssetClassAxis": { "auth_ref": [ "r384", "r390" ], "lang": { "en-us": { "role": { "documentation": "Information by class of asset.", "label": "Asset Class [Axis]" } } }, "localname": "FairValueByAssetClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r254", "r256", "r257", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r385", "r411", "r412", "r413" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r384", "r385", "r386", "r387", "r391" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r389" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r254", "r268", "r269", "r274", "r275", "r385", "r411" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r254", "r256", "r257", "r268", "r269", "r274", "r275", "r385", "r412" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r254", "r256", "r257", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r385", "r413" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r254", "r256", "r257", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r411", "r412", "r413" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r389", "r391" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r401" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Current finance lease liabilities" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r401" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.", "label": "Long-term finance lease liabilities" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r402", "r403" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "us-gaap_FinanceLeasePrincipalPayments", "negatedLabel": "Principal repayments of finance lease obligations" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r400" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance lease assets" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r172", "r176", "r179", "r180", "r181", "r188", "r189", "r190", "r191", "r192", "r194", "r195", "r196", "r197", "r255", "r260", "r380", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r500", "r501", "r502", "r503", "r504", "r505", "r506" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Useful Life (Year)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r12", "r218" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r220" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "terseLabel": "Remaining 2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r220" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r220" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r220" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 0.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r214", "r216", "r218", "r221", "r441", "r442" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r218", "r442" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r214", "r217" ], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r218", "r441" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Net", "totalLabel": "Total estimated amortization expense" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "auth_ref": [ "r441" ], "lang": { "en-us": { "role": { "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Weighted average useful life remaining (Year)" } } }, "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "durationItemType" }, "us-gaap_FinitelivedIntangibleAssetsAcquired1": { "auth_ref": [ "r215" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.", "label": "us-gaap_FinitelivedIntangibleAssetsAcquired1", "terseLabel": "Finite-Lived Intangible Assets Acquired" } } }, "localname": "FinitelivedIntangibleAssetsAcquired1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r79" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment", "negatedLabel": "Gain on disposal of property and equipment", "terseLabel": "Gain (Loss) on Disposition of Property Plant Equipment, Total" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r64" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r11", "r200", "r201", "r208", "r212", "r407", "r444" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 2.0, "parentTag": "prlb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwillAndLiabilitiesAssumedAssetsTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Goodwill", "periodStartLabel": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r202", "r212" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill acquired during the period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r222" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r206" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "us-gaap_GoodwillForeignCurrencyTranslationGainLoss", "terseLabel": "Foreign currency translation adjustments" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r62", "r84", "r133", "r138", "r141", "r144", "r147", "r183", "r238", "r239", "r240", "r243", "r244", "r245", "r247", "r249", "r251", "r252", "r392" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "us-gaap_GrossProfit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecurities": { "auth_ref": [ "r160", "r168", "r187", "r190" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity).", "label": "Amortized Cost" } } }, "localname": "HeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain": { "auth_ref": [ "r170", "r174" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrecognized gain on investment in debt security measured at amortized cost (held-to-maturity).", "label": "Unrealized Gains" } } }, "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss": { "auth_ref": [ "r171", "r175" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at amortized cost (held-to-maturity).", "label": "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss", "negatedLabel": "Unrealized Losses" } } }, "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesFairValue": { "auth_ref": [ "r169", "r173", "r448" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at amortized cost (held-to-maturity).", "label": "Fair Value" } } }, "localname": "HeldToMaturitySecuritiesFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesTextBlock": { "auth_ref": [ "r172", "r176", "r177" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information about investment in debt security measured at amortized cost (held-to-maturity).", "label": "Debt Securities, Held-to-Maturity [Table Text Block]" } } }, "localname": "HeldToMaturitySecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r57", "r133", "r138", "r141", "r144", "r147", "r443", "r450", "r455", "r468" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": { "auth_ref": [ "r276", "r278" ], "lang": { "en-us": { "role": { "documentation": "Information by name of disposal group.", "label": "Disposal Group Name [Axis]" } } }, "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r228", "r231" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r231" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r86", "r334", "r336", "r337", "r341", "r347", "r349", "r350", "r351" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r87", "r102", "r103", "r131", "r332", "r342", "r348", "r469" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Provision for income taxes", "terseLabel": "Income Tax Expense (Benefit), Total" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesReceivable": { "auth_ref": [ "r18", "r449", "r464" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.", "label": "Income taxes receivable" } } }, "localname": "IncomeTaxesReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "Income taxes" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.", "label": "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "terseLabel": "Accrued liabilities and other" } } }, "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_IncreaseDecreaseInInventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses and other" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r107", "r108", "r109", "r113", "r281" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": 0.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Employee stock options and other (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r199" ], "lang": { "en-us": { "role": { "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.", "label": "Inventory Disclosure [Text Block]" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-9-inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r29" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details": { "order": 0.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Total inventory" } } }, "localname": "InventoryGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r6", "r29", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory", "totalLabel": "Inventory, net of allowance" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r29", "r198" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "us-gaap_InventoryValuationReserves", "negatedLabel": "Allowance for obsolescence" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTextBlock": { "auth_ref": [ "r178", "r182", "r184", "r185" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for investment.", "label": "Investment [Text Block]" } } }, "localname": "InvestmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r32", "r84", "r140", "r183", "r238", "r239", "r240", "r243", "r244", "r245", "r247", "r249", "r251", "r252", "r374", "r377", "r378", "r392", "r405", "r406" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r24", "r84", "r183", "r392", "r407", "r447", "r462" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r8", "r34", "r84", "r183", "r238", "r239", "r240", "r243", "r244", "r245", "r247", "r249", "r251", "r252", "r374", "r377", "r378", "r392", "r405", "r406", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-Lived Assets by Geographic Areas [Table Text Block]" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Short-term marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesNoncurrent": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as noncurrent.", "label": "Long-term marketable securities" } } }, "localname": "MarketableSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketingRelatedIntangibleAssetsMember": { "auth_ref": [ "r358" ], "lang": { "en-us": { "role": { "documentation": "Marketing-related asset, including, but not limited to, internet domain name, newspaper mast head, and trademark.", "label": "Marketing-Related Intangible Assets [Member]" } } }, "localname": "MarketingRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r268" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r76", "r77", "r80" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r3", "r47", "r50", "r55", "r58", "r80", "r84", "r94", "r96", "r97", "r98", "r99", "r102", "r103", "r110", "r133", "r138", "r141", "r144", "r147", "r183", "r238", "r239", "r240", "r243", "r244", "r245", "r247", "r249", "r251", "r252", "r383", "r392", "r451", "r465" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r360" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "auth_ref": [ "r46", "r56" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent.", "label": "Other comprehensive income (loss) before reclassifications" } } }, "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_OperatingExpenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating expenses" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r133", "r138", "r141", "r144", "r147" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "us-gaap_OperatingIncomeLoss", "terseLabel": "Income from operations", "totalLabel": "Income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r401" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r401" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Long-term operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r400" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r137", "r138", "r139", "r140", "r141", "r147" ], "lang": { "en-us": { "role": { "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.", "label": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r4", "r379" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r13" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other long-term assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": { "auth_ref": [ "r38", "r44" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax, 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.", "label": "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "terseLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Total" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r38" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "terseLabel": "Foreign currency translation adjustment" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other comprehensive loss" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r48", "r51", "r371", "r372", "r375" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "totalLabel": "Net current-period other comprehensive income (loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r40", "r44" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Net unrealized gains (losses) on investments in securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIntangibleAssetsNet": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other.", "label": "Other intangible assets, net" } } }, "localname": "OtherIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r65" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other income (loss), net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r75" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "us-gaap_PaymentsForRepurchaseOfCommonStock", "negatedLabel": "Repurchases of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r75" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Purchases of shares withheld for tax obligations" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r67", "r71", "r163" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt", "negatedLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r72", "r366" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "us-gaap_PaymentsToAcquireBusinessesGross", "terseLabel": "Payments to Acquire Businesses, Gross" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r72" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 }, "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "negatedLabel": "Cash used for acquisitions, net of cash acquired", "terseLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total", "totalLabel": "Net cash consideration" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r73" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedLabel": "Purchases of property, equipment and other capital assets" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r283", "r284", "r285", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r296", "r297", "r298", "r299", "r300", "r301", "r304", "r305", "r307", "r308", "r310", "r311", "r312", "r313", "r314" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r283", "r284", "r285", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r296", "r297", "r298", "r299", "r300", "r301", "r304", "r305", "r307", "r308", "r310", "r311", "r312", "r313", "r314" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r16", "r258" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r16", "r258" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r16", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of September 30, 2022, and December 31, 2021" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r30" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r74", "r321" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": { "auth_ref": [ "r68", "r163" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.", "label": "Proceeds from call redemptions and maturities of marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r67", "r68", "r163" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from sales of marketable securities" } } }, "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "auth_ref": [ "r70" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets.", "label": "Proceeds from sales of property, equipment and other capital assets" } } }, "localname": "ProceedsFromSaleOfProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r70" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment", "terseLabel": "Proceeds from Sale of Property, Plant, and Equipment, Total" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r226", "r407", "r457", "r463" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Property and equipment, net", "terseLabel": "Long-lived assets" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent": { "auth_ref": [ "r46", "r56" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss) attributable to parent.", "label": "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "negatedLabel": "Amounts reclassified from accumulated other comprehensive loss" } } }, "localname": "ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r328", "r439", "r494" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r20", "r262", "r407", "r461", "r478", "r480" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r91", "r92", "r93", "r95", "r101", "r103", "r186", "r322", "r323", "r324", "r339", "r340", "r381", "r475", "r477" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r124", "r125", "r137", "r142", "r143", "r149", "r150", "r155", "r263", "r264", "r440" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.", "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r152" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statements of Operations:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r37" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of components of comprehensive income (loss). Includes, but is not limited to, foreign currency translation adjustments, foreign currency transactions designated as economic hedges of a net investment in foreign entity, gain (loss) and prior service cost (credit) for pension plans and other postretirement benefit plans.", "label": "Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r214", "r217" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r9", "r26", "r27", "r28" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Inventory, Current [Table Text Block]" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units.", "label": "Schedule of Nonvested Performance-Based Units Activity [Table Text Block]" } } }, "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r286", "r303", "r306" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": { "auth_ref": [ "r309" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r309" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r217" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r121", "r124", "r125", "r126", "r127", "r128", "r129", "r130", "r131", "r132", "r133", "r134", "r135", "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r144", "r145", "r147", "r155", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r212", "r232", "r233", "r470" ], "lang": { "en-us": { "role": { "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.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r121", "r122", "r123", "r133", "r136", "r141", "r145", "r146", "r147", "r148", "r149", "r154", "r155", "r156" ], "lang": { "en-us": { "role": { "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.", "label": "Segment Reporting Disclosure [Text Block]" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Marketing and sales" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r78" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensation", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r283" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate": { "auth_ref": [ "r320" ], "lang": { "en-us": { "role": { "documentation": "Discount rate from fair value on offering date that participants pay for shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r301" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedTerseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r301" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "terseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r299" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r299" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Granted, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Granted, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r296", "r297" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Restricted stock (in shares)", "periodStartLabel": "Restricted stock (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r296", "r297" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Restricted stock, weighted-average grant date fair value (in dollars per share)", "periodStartLabel": "Restricted stock, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedTerseLabel": "Restrictions lapsed (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r312" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r311" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r313" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r289" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Options exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r289" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Options exercisable, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r294" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "negatedLabel": "Expired (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r293" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "negatedLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r291" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r304" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r287", "r288" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "periodEndLabel": "Options outstanding (in shares)", "periodStartLabel": "Options outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r287", "r288" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "periodEndLabel": "Options outstanding, weighted-average exercise price (in dollars per share)", "periodStartLabel": "Options outstanding, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r283", "r284", "r285", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r296", "r297", "r298", "r299", "r300", "r301", "r304", "r305", "r307", "r308", "r310", "r311", "r312", "r313", "r314" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Exercised, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r294" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Expired (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r293" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Forfeited, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r291" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "terseLabel": "Granted, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r302" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.", "label": "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "periodEndLabel": "Performance stock (in shares)", "periodStartLabel": "Performance stock (in shares)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r284" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r310" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Expected life (years) (Year)", "verboseLabel": "Expected life (months) (Month)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r83", "r90" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r1", "r121", "r124", "r125", "r126", "r127", "r128", "r129", "r130", "r131", "r132", "r133", "r134", "r135", "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r144", "r145", "r147", "r155", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r212", "r229", "r232", "r233", "r470" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r36", "r53", "r54", "r55", "r91", "r92", "r93", "r95", "r101", "r103", "r120", "r186", "r261", "r262", "r322", "r323", "r324", "r339", "r340", "r381", "r394", "r395", "r396", "r397", "r398", "r399", "r404", "r475", "r476", "r477" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "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": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables", "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20220930/role/statement-note-9-inventory", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r91", "r92", "r93", "r120", "r440" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20220930/role/statement-note-1-basis-of-presentation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-blackscholes-option-pricing-model-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-details-textual", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes", "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-details-textual", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-disaggregation-of-revenue-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables", "http://www.protolabs.com/20220930/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-details-textual", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-allocation-of-purchase-price-for-the-acquisition-of-rapid-details", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-details-textual", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-changes-in-the-carrying-amount-of-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale", "http://www.protolabs.com/20220930/role/statement-note-6-assets-held-for-sale-details-textual", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20220930/role/statement-note-9-inventory", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-inventory-details", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "auth_ref": [ "r16", "r17", "r262" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.", "label": "Common shares issued for Hubs acquisition (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesAcquisitions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r16", "r17", "r261", "r262" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r16", "r17", "r261", "r262", "r292" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised", "negatedLabel": "Exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueAcquisitions": { "auth_ref": [ "r36", "r261", "r262" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued pursuant to acquisitions during the period.", "label": "Common shares issued for Hubs acquisition" } } }, "localname": "StockIssuedDuringPeriodValueAcquisitions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r36", "r261", "r262" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r16", "r17", "r261", "r262" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares", "negatedLabel": "Repurchases of common stock (in shares)" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r16", "r17", "r261", "r262" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue", "negatedLabel": "Repurchases of common stock" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r17", "r22", "r23", "r84", "r161", "r183", "r392", "r407" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "us-gaap_StockholdersEquity", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total shareholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Shareholders' equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-10-stockbased-compensation-tables", "http://www.protolabs.com/20220930/role/statement-note-11-accumulated-other-comprehensive-income-loss-tables", "http://www.protolabs.com/20220930/role/statement-note-13-segment-reporting-tables", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20220930/role/statement-note-4-business-combinations-tables", "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20220930/role/statement-note-7-fair-value-measurements-tables", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-tables", "http://www.protolabs.com/20220930/role/statement-note-9-inventory-tables" ], "xbrltype": "stringItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r359" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-5-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r172", "r176", "r179", "r180", "r181", "r255", "r260", "r380", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r500", "r501", "r502", "r503", "r504", "r505", "r506" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r88", "r268", "r456" ], "lang": { "en-us": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "US Government Agencies Debt Securities [Member]" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_USStatesAndPoliticalSubdivisionsMember": { "auth_ref": [ "r268", "r481" ], "lang": { "en-us": { "role": { "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments.", "label": "US States and Political Subdivisions Debt Securities [Member]" } } }, "localname": "USStatesAndPoliticalSubdivisionsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-available-for-sale-securities-details", "http://www.protolabs.com/20220930/role/statement-note-8-marketable-securities-shortterm-and-longterm-heldtomaturity-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r329", "r335" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "us-gaap_UnrecognizedTaxBenefits", "terseLabel": "Unrecognized Tax Benefits, Ending Balance" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-note-12-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r105", "r113" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "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.", "label": "Diluted (in shares)", "totalLabel": "Diluted - weighted-average shares outstanding: (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r104", "r113" ], "calculation": { "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Basic (in shares)", "terseLabel": "Basic - weighted-average shares outstanding: (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20220930/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Shares used to compute net income per share:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.protolabs.com/20220930/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258" }, "r119": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599" }, "r156": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org/topic&trid=2134510" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269825-111563" }, "r178": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "https://asc.fasb.org/topic&trid=2196928" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714" }, "r182": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "321", "URI": "https://asc.fasb.org/topic&trid=75115024" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r184": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "323", "URI": "https://asc.fasb.org/topic&trid=2196965" }, "r185": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "325", "URI": "https://asc.fasb.org/topic&trid=2197064" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r199": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r222": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "https://asc.fasb.org/topic&trid=2144416" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=126982154&loc=d3e400-110220" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2611-110228" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2443-110228" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907" }, "r327": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r351": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org/topic&trid=2144680" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5227-128473" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(4)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e7008-128479" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e526-108580" }, "r370": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "https://asc.fasb.org/topic&trid=2303972" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r379": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org/topic&trid=2197479" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r4": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org/topic&trid=2122149" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.10)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Subparagraph": "b.", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=123398031&loc=d3e60009-112784" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62557-112803" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.5(c))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124508989&loc=d3e19393-158473" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r495": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r496": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r497": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r498": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r499": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580" }, "r500": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r501": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)" }, "r502": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)" }, "r503": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)" }, "r504": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)" }, "r505": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)" }, "r506": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)" }, "r507": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "https://asc.fasb.org/topic&trid=2134417" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3151-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r90": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" } }, "version": "2.1" } ZIP 75 0001437749-22-025970-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-22-025970-xbrl.zip M4$L#!!0 ( #QH9%75#:YO00@ .H_ - 97A?-#$U,3(V+FAT;>U; M;5,;-Q#^''[%EDY3F/$[T!#;>,: 0SU-P35FIOW4T=WI.$UTIXNDLW%_?7=U MYQ;5?S1KS[7;D,%SSAFED>@#>%490E =?G*N8P4-HR"66HUZI'U4:MT8#7 MS<9Q$S\'OT*YW&G'W#+P(Z8-MR>[F0W+Q[M%:\)B?K(;*ATS6PZXY;X5*MD% M7R66)]C;X[:E@"L9.I1N>V'+(8B&G37CY/E.V-1(Q M-W#))S!4,4ORQA*XYA(8KD78 C?.B+]X$W5/;0M2%@0BN6U"3210J]1%T@(_ MTT;I)K#,JA9ID#XF]L<' G]\(&LARDF*F;X521._PJM* QLLO[-E)L5MTI0\ MM"CH9>*9M-6NIIV=+R]3B]N(A+:]3N\N$IZP<%"OU-M5K_-E-#@\K+Q:^[(; MC8?K]M''N,X7?M8;COIO^F?=4?_J$@8WP^N;[N4(1E_=R#Z][9S; _ZO>NH??[V<_=RXL>=,]&I%;]]<%A MZ:LIU[V&[OG58-0[OV=*U->9]Z#6^.JFZPY/NY>]Z_+5[V][?\RLUJC5&AOI M]I\%;(4*X"Z6I$,AOE_"Z3RN+9RJ0.D2^/A=A%.P$;/-;\D6>8O [);8)C1( MP]U.O0)]B-B8@^9CP2>8!&TD#/R6,8T^)::A//_$K&[6JS;-SHP*GS*!UT8[Q%-XE:B)Y<,M+N;EU;N1 H3:)LHXD M,,S4+)E"EEB=<5P$4I08YR3K,]0!MT<@.PF9CTT:5(RI#;?$]5OID'"?&\/T ME+K$[!U'N4MS&FP+4!D4*2EAD@SJX OM9S%V2W X.&8$DTCX$9B,_BW&3[CF MQ22T@%@8B70&*0=,A(UP@29%!D32:=X455,!+G.,PQSO6C+#1FWN224BY\J]A6\T TNF\@:.(2]<@D=D"'4BG1;&PU3A^?F0A"J29FYFV:WPIC M-4-!C!ISO4-"[873F)DR*]INU"YMGM\<5K"X63;RR^^/&_57+5-X1I$8*615 M& J\=.;O ]/<;31NG/ DIPT!CM[E26$BZD[=8H0K@BRZ#H3QI3(9CB,@TTKF M.YYJY?, FPWLX08''#TFW\7>'191R2V'+F+$,)/8P['2HSV^[X8Z6DI7^:4@ MPI/DGD;S P')D@/F#D&Z/%E0>$]0B()HG0_=$GM0MORJQ($LS\%3&M'X9+>& M)267LBCPYM;I0X@:>!QCM9"4DPV5:9P D7\LC,LGV(LG;AXB\(M, MM)S--)?,!7_!-A8!7"HR'=T4F)50%Z.D"-SIC\D\(P+!M* %B)P3N?R:T$R9 M(9[BL-(X4N.RCS(<%;*8[6A0RFBS,LDH:>*RG!(+OH,CI(^8U M',^#%8?%3PJO'?RDT/\"P'/PI+.:+?#\OX#'>V[ \^2TOX(_3R<,3X8AA*ZQ M" A=F%&)"PUF$)FH5B+(83J8A3\"DF">D,).B>L^)I; T"&% X$$LA1%ZPH<[Q!,!0I6QPPN#N/8L4G>&366!F+[?0L".?%%_,*A% \<\7+V M*$C1%*1XQV5Q[OR@?^FS3?05F,LS>KIS]&^/_-P3H6#FY:5%8J \M>QIBQQ! MOO()_'RE-)^KQK \MTJ;.25V#3AE' MK.?](%O84DFZZ'PC4STVRA_Z(2<]0 M4L5/.B28!1%_GPE4WP5,EKC7,\S^]F1OF\J^I9.]KL32$J\%AC^=<--9N2\X MQFM!6>P>/LX>[7P2"A2'8?GSA4?R!0MPH.'S=/%! MQ"A*:QR"88_14\J)L"&+9#&N'VWA%E.DZ4I5%..=R>1RGD%NP_A399V5%;I6$RYQDV,/]_FP!/3:[2?$BJ>L57&A>VV= MJG\.\&RTGL_4I/4UZ#E[N_ATVOS_&C2'KG*N==,]+X5Z>@??U]Q?:P84:_7B MJJG>>['S ^B_P5#WK<3A)NOY3$VZ#FC[IDRZ7NS:XM:FJKK%K2UN/2>3KA>W M!IH;046H.TL[BP0/H7?'_8P>3\-5_@1A"VB;I.H6T+: ]IQ,NEY VQODK\ Q MN8IC*P>TFW*>N+Z?D]X3&X@Q^)(9<[+[MGL]*@^Z%[WRZ;#7_85^.KYT=W#Q M9C1\T!:%9:TFJXUT] F#B\N;7Q?2L ?]&OZ1#]2B2K^.[[2K[C?^?P-02P,$ M% @ /&AD52 -%$(Y" K3\ T !E>%\T,34Q,CS.0=>$J3D)D4 F6>'N1"F+G[="/;,M94MEQ)3LC]]<^N[+R4 M0)NV=[G0A@\DEB7M:K7[V]_*3CNRL>RT(\Z"SLZ+MA56\@Z___.P?E1OO*K@ MW78U;\2[_RF7X8(G7#/+ _ F,(RR).#Z3,4<^DI;)J$,]5KUJ-JH-1KPNMDX M;AX<0?]7*)<[[9A;!G[$M.'V9#>S8?EXMVA-6,Q/=D.E8V;+ ;?ULN>1JIA)\D:K>STZ[F&K<]%4S V(ETPQ-;#EDLY*0)+S]DRK:&(N8& MKO@8!BIF2=Y8 M=< L.U"%O@QAGQ%V^B[JEM08'AY?GG:'5Y>7T'_=G!SV[T:PO :!K?O>E _ M8.7ZX1[;A^L!U(^"Z<4Y?,Y>_[SJP[<]N.F=W@XNAY>]&^C]?OJV>W71@^[I MD!2LOSXX+&V FMT;Z)Y=]X>]LX_,BYH[DQ_4&AMDSN[@3?>J=U.^_OU=[X^I M)1NUF@N/S_OK=Q0DA?C+$IRQ1' )-WZ4QN224LY]J]A6\T TNF\@:.(2]<@D=D"'4BF1=&PU3A^?F0A"J<9F MZFV:WPEC-4-!C!ISO5'+TH+3F*DR2]INU"YMGM\<5K T6C3RRY^.&_57+5-X M1I$8*615& J\=.:_!*:YVVC<..%)3AL"'+W+D\)$U)VZQ0A7!%ET'0CC2V4R M'$= II7,=SS5RNRS!DCL.7<2(02:QAZ.O1WM\WPUU M_)6N\DM!W"?)/8WF!P*2!0?,'8)T65E0^)&@$ 71.A^Z)?:@;/FO$@>R/ =/ M:43CD]T:%J1A\L?,":W2- M7^@SF$H;D3OY3!8+L2IMY0J\_MF-PLY_K_4^;3:25[7!REH>K$]+MO]5&AX? MKT_%,V[P"D/(I?W/QW>)&(G/,K/Z$*(&'L=8+23E9$-E&B= Y!\)X_()]N*) MFX<(_#P3+68SS25SP5^PC7D EXI,1S<%9B74Q2@I G=V9#+/B$ P+6@!(N=$ M+K\F-%-FB*QX@NX")4XROBR$ M\G#T*4C0!*=YS69P[/^A?^F83_0O,Y1D]W3GZVB,_]T0HF'IY:9X8*$\M M>MH\1Y"O? $_7RK-9ZHQ+,^MTF9&B5T#3AG'PEK./Y&%/86DF^X' O5SD^RA M/V+2,Y14\9,.":9!Q#]D M5W 9,E[N4.L[\]V=NFLA_I9*\KL;3$:X'A3R?< M=%;N"X[Q6E#6V0G;F+/WQ$'S4M.Q4%/TT<[7X0"Q6%8_GSAD7S! AQH M^"Q=/(D816F-0S#L,7I*.1$V9)$LQO6C+=QBBC3]Z$.P+>@>_K>RSLH*7:L)5[C)L8?[?%@">FGW"V+%4]:J MN-"]MD[5OP5X-EK/9VK2^AKTG+Z0_&;2_'X-FD-7.=>ZZ9Z70CV]AY]J[J\U M!8JU>G'55)??[GPB!6PPWOTHP;C)>CY3DZX#WWXHDZX7P+;@M=&J;L%K"U[/ MR:3K!:_32/ 0SF=5^'7^]& +89NDZA;"MA#VG$RZ7@C;Z^>OOR%Z+>'8TN'L MIIPE!F($OF3&G.R^Z]X,R_WN1:_\9M#K_H]^_;UPMW]Q/AP\:(O"LE;CY48Z M?X3^Q=7MKW-IV(-^T/[(!VI1I1^X=]I5]S/]_P-02P,$% @ /&AD57-8 M)J71! -R, T !E>%\T,34Q,C@N:'1M[5IM<]HX$/Z<_(H]W_1M!AO; M0%YXFW&(29E+@8)ST_MT(]LBUHPMN;9(H+_^5C9)TS1]N>02N!0^8+PK:9]] MO-+N,FY',HF[[8B2L+N[TY9,QK1+%W_7K89E'QBH;5=+(6I_TW4XH9QF1-(0 M_"5XT9R'-#L6"86QR"2)00?+K#:JMFG;<-BT#YJ- QB_ UWOMA,J"001R7(J M.]I@D3D1!>"BM0B"N0TXS-6E#, MR]DGVD3LJ6Q!2L*0\?,FF(R#:5B,MR"89[G(FD#F4K04@O0NLZ]N&7QUR]9G M4X6EA&3GC#?Q)^P;-@HD74B=Q.R<-V,ZDVCH)??SM-6NIMW=;]A\D*LK!%#< MW+ .&3N/E/VVWW47$?.9A)IM6.VJW_T>F/L34*\;^_=D8"U&'X?V *.=9B7O M/7?B#?J#GN,-1D,8]:'W=N#VP?W@]LZ\P9\NBE#K3L 9'J]T_<'0&?8&SNFU M[DCL><> MPV91=D74H;FGHM![Z\+4F1PY0W>JCSZTUXU[QM5^8'%5S. MIYF$(Q&*K((T9I+-EA5(,7W,"9<@!=P(P3+/K4*0Y$!"D:K<>G/XU2!%OYB! MC"A,2>833G-]M(CI$IQ *HVBOX)Z(HM![^T68=UNI >%@RQWA9A:BE5/5!&,?G@75 /@^B M.SC]@C_"E"K-:%Z@PEDDCC%J< I#0E&>(LI\13(G/%!B-!.RPJ!"@8/F<>F2 M2%6IA8K\KF?WJVZR8Z2S"4-Q409+_2I6UE@!X+$UW=G>PDL_PA[J&5]8NU%F$ M^WKEB!1IJP30V#=J+XJ)./Z_)?#[S"E[51G^--"Z83T=SJ-E\U^ ](64(FF5 M,:"7=\U@GQ+S$-/Z/;;".@+DV0;'1IV,GOH_Z-X1L=EGWQJ#=XR5 M'U,%0%$&]B)&9UBK8MTJV06%T6S&L)OX1E3OXE45(9OU%\FO8_2QN\ICPAF- M81I$\X0$$7U6K25LN\IM5[GN3;;M*K==Y;:K_%6[RJ_RZ[/J'K:MY<.A/N\( MV:@S(#^PHGZX8#-D%!#')\XYVZDP]?>RY)8LFNF9N/Q:J(HG&)\,S]Y]MH8CU*LE=UP0156]:M)M5XL79OX! M4$L#!!0 ( #QH9%4/3/_V<1$ .O: 1 <')L8BTR,#(R,#DS,"YX MN+IL]T)+L9&;BBK/E9\9;=NRRG)G9TQ1$0A(W%*@ MH&W-K]]ND*!$F10?@FS)XF$F,O'HUX=&HP&0G_[]-/:M!\J%%["C5G>OT[(H M>?=P[O;QL64(2YA(_8/2HQ8+6OS___6^?_F';7RBCG$CJ6OVI M=3\*F4OY63"FUA\G=U>6;77V#]]W;Z^M;_>GUGYG?]_N=NW.>]O^_.E)N(?" M&=$QL8 #)@[AP5%K).7DL-U^?'S<>SS8"_BPO=_I=-M_7%_U5-U67-D)0B;Y M-&GPU.?^GJ#.WC!X:,>%;228- @Y![GR6L2EJ28N];)K0T&ZHN2VG$ZH2/&O MFJ $4-S&8FS3L3M=>[^K6](G9Y1- TM21'R/?<_N'S1TT,;B/A%45V?$$^_U4WQ,>R, G?;'G!&-5M?/QH*.K"\_)[AD*4OT*+I.* R+ZBEUX MN%AI07OS5:.B= ,YX3GTH215-13VD)#)\Y[C@L7*.7SHDE1UI.S*-".Q.3ZT MH\+YJMX2XWD,AY>3&._IF;'CP=#]^/%C6Y6V+"(E]_JAI!P./NC"0?3JF3*8JS!5+PH=4?B5C*B;$H640 ,/>LM38]<:3@$N+9;;. M$R\:\%>!0Z1R-[E-\"];M[/QD=W=MP^Z>T"ZU2[!12[BLU@0^0VBGS;^K$<[ M[8Q*49]OHO^HQD'&8%M*^5G]-O6E4..OON0S-UE*:ET=?ZQ =>:#2E'5U?%' M31TO>(=RBIYW0)&R=3N=QR^M;UU:\5[#PW098B MG-17OU89T.E8H=R(GF^3_%6-B>*8(H^5HI;J;U'+N=1 _G,74P/V.1/Y"F,/ MGZQ@$!A!']L\\&F;T2$&Q.4&H<]YJA6.Q(\XU75_6N2#,!9(U95ZII].)AX; M!/$C>(C!P:&.!N_HP%+APB'A#M)9'E2T8=:?4"X],.E<0*DZ&'$Z.&IAI&CK M:.!/B _V(&+159X12,_I2DYH0OVK&7NZ+6+@J"5 V3Z-I7YQ<1SB5Q4'FCBA MKZRRH4*Y=%!5*&CB,6^#99IP6E4F:"(@%*YE*>S@'BI8'JQ0(225*JJVW< ) MU0]8&=OPKR>G-HY%/E946A:V^W9W62*NCG@LWW7"H&9Q9K)H"5%FI?BYT^G M$OTLIC7_\YBYUKDB:UW.R'YJ+]!ZQD8HJ'O#/JO?"T,C;AS76-8P#;_R[19- MG-TR?JIM6L[43L!$X'NN;2!@![@6N'C(2NIR: ^O:O M1<\4*+J A)YF!7Z?SC%CG43,6#W%C/7N-.+&NE7<6-\T-_]JP%+%>/:$X/,1 ME1ZH0KPT=A;)FX+2OA$H6>]N4^PUV(J,FSP6=C" HC$0'E$FO <*LP7\3=?@ MC2H1-86C@V4X2@J$%0R@:(XCF+V0(^M=XY>6FE&,8("- M^E7-CT1XCQQKJA MLYRF*>2\+X^^ 'CV+]OB:+E"F-L!3! M@!*H1]'!CMO]O=T/A<>H$&B3OL<4I=7'?%Z_IFS],=/6&!J>Q'31R@G=';?R M!WL8!.ZCY_LJ_1C NIO#<)2$#;V^3VTB!#7@Z$N2,82!;B<3 QCV?8G9L( - MZP;9@.&OV;".%1L[#HF?8FO8(^J[]B#@MB#^ZIX^IUM3)N]FFAPCOLBHUJ] MU@*R5@_([KB)?[8'Q./V _%#:H\I0969B>CR>S9EZ/U,0V-X=P&4K=^0LG4] M1WG';?V+/2;\.Y4$_:R@3L@]W'M;V=)Y_9JR\T&FG3&2NT[H6KV$[HY;^2/, MI@_P5\"G*UMVOB]3UGR?:4V,U2XUK1VW8+=C"QDX2F.NRK53)@SE5?*[-F7? M#]FIE8[*M %I6]%6"7M->]?MW<6L1SA&H:@.B3.W6$"GJ[OKBN1,X2(GY8;1 MVO&,G3@2S][.N0)^=C[CNJ^M(\F3@0, T M5']SB@<./39)[KAQEV8T;16VKCY^2Q$Q9?SL MC%I!]M1Z=Z^XV'7/G9/N- 6$@NX-06 _.Z&6FU1MC%\E[6D*"]6HF8)&=N*M M;*ZU04I!WLP4. H)F,)#Y?Q< X&E"353 "CHWI3Y*Z;M&N,_R[F9,GA&EZ:, M7"*;UQBV*/=FRL[%%$R9O4:2KX%!G?2;,6C4HFH*+J9R?PV&\C,\QI"RI&]3 M>,A)#F8FD1J;+ST2:[L027D^#%GZ)$/BK^OH[3,ZIK"0DU#,.XIKO3N+&+'N M(T9V'1?+$X"FT5&-FBF,U,P[-DBI8#L,!L)XK,/81R?@J.R1Z_DAQ@P+C5,6 M7S.N5N/-$ H/LE.?12BT54 3#-V:HS)A9Q'WB\W3Z-UUU.;EM4U[MK)T M3*$I.UNZ))'>>+-2]B*^'[][184P(7=&H'&(93R'JL.FL,B M="/T!.>KL7) MQ'.-^;+U<68*>]F9V7SLP3(MX5T%9#'O$)D![^HL+? .:[F$=ZQUA[PW?JS: MGHQIMU:3K"FD92>!R^\)-4ZOCC5A<+(A%5"B?(I#.)_B,IZ,\6(;^I6D&U-. M;WV ]L-0&L"E KIC57FG R'/'YI'_@L+KV_HHB./N%. MA[D%\=H8,P74[)Q^!:">:]:MXX1U]*4)Z]9YQ'H#UJ47YXR'C"7)F )2]F9 MWGV])B0L?9QG[CG$5< ]88Y'?&W=N"[X%F83?/U"R#F&8E'ZWY0?6S-[ID"8 MO0NQ[*Q2J@1BOPLM@(9M7-NU@!6"[Y:(!(BW-1J?MOPPDAC!1" I'ZOISP_8 M,/KC 92FZB9^::Z1*="NA2E34,W>#,D_5V5;/63;1E;5E'P5X(XN_G6L&9^Y MU_D#60U$ZZ !9TT90&2#]:8; ,]BA@Q!\WWV#DDM:.*D;\O OH[9;H!9'ICZ M]9\PK2[8WJ5]F:HYQ5>O24X<#*7LN7KK1:HY#DU!-WL[9AET]8M,8>[78-7< M66<@Q7SM_A1?+:>EL!)0-TA^?D)U]LL4"I?W;@I!V9LJZ:.PJ6.QC>V+3JT: M/]M4GI0I5&1O@!2S Y?=4F; H]V7L6R]$3%UDW MBC?K..:M\3?%1B5"A.-)M%N/]/0V5=\GSG?AC*!7H6V.V_:8CQ@'+C6W-[%6 MYDRALL[I?Y7-T_Q;W[ \WD<[0?[M7B2 1NUM)(!UC0(TT"U&!U"6H+/H_D#91"1#'@PMO&+K_%]F/XTKA3O#D;M MC,U.YE@Q!:V0C%K70"SUDW"+&XFWB7,)BV;&6F)W>,Y9-'L:\5: M 4U3H,K9(L@#53R;+6*J0<\22^))&A]"/U>?301W,:3!D)/)R'.@XG!N!W$] M8*K&@BELY23Z\["E3N\H+O492'!57Q(NH>YP?GNSP5I66.,)?9(_SD#I.6NM M^"HF:PI3.3G\/$R=I1A3UTKC:7$78/2I_23<0S*9X&?@U;/X"0-3DD363_B, M^M%7+ $$ZJ#144ORD+84\B;<[_^IKN=RZAZXOX9]<4W'?M3**?-\ M=3Q4=R6@3'HR1,)?>!!.CEIH:._0 X"U+ F,'[5NY)\1YU@R+R_J'OI0EUOX"&;D=/1HAPS M]PH>>[XZ@J623]3%4U@ +&BCRZ;Q!ZBU)EZ,6AW=1D_& 0/H\^FB9N-3=4 ,B_HKZ_!LQY496G"+XUK4,\YXBM4>:Z#//UZ>DV<$7AY-KSPN)!.*--N*5K MKR:;U#V9$&\2".(KHN?CB1],*>U!#,1Q!,1+.#:,[TK.B5FMU6N,T>KR7Q!' MN71.50[_=$3XD(I22BC==#LT44KF[94.]UU.HW%Z5]W6E9IOAT9^Y_B]^>"1 MW0PNO"<]PY;21NFFFZ:)W$GM+'!"K 'STCG$*7)ZR=0Y!]615L'R.O5EQ<-D M;&A\HL:M[O1,G'JR$5/M^6! \3@QC;*(]^3I#L96%'*'H)190A$J< HK_C,: M_QNBTNY']%;13$0TV.%J&@)"^/%W\V;5B]#OS;J%4;%@Z\)JFP& /#9O MP)!HD 7SEJY>?SAJOLU;+N3!A&;&R-E%&QG_Z[#GDEV3B8_*]]BUQV#E!XNS MM%3EJFX$#B\P$T=5JGGV:A$UK^%LAD=]YU\D)1M2RL+1A(#;5+,YX&0ZVTPXAEE O1C\V0JO5LM7 M7NWE#M]+]C^<( -V'?B8=;G%//\8?J>';G&UC71.^5F(C4LWY,IP%5^S!]AA MSNQ!S6_[G>Y^6J#B:ALIW35AX0!O+>-L/9L@E'G2 I:JN9$RX@;4?9"\OZ6G MM\OB_:5[?8HIDK-T[8U;82#G(HMU,2];;HTMDNVZ[*+-B(TNXT64F1(;P;WF'.17T/D[Q0< 3!W,SBAF'0@G*F\\F]X?IT- MKX)'RJ^\L9?8S$ _:U\1EHG(ZLGQ;3(QHH]4/QNACYXSHFZ(#*OWW*N; K=D MJE(UCX2[ZG]" 1Q?6:F6CO&%O>1NR]Q-@NP8<-U$-F5S8";=_%V+8\[Q3;58 M]62:K8#S'Z&:GL'UJ"S93!>Q&N:N#D7OO4U4^Z(D5W#*R(38)@W_3KWA"->= MN$LSI%^ A#R#B0JOQ:A;,:]@@C(\K>Q6%+/&I\_>B%)8.TCBI^?.C.<;&9;V M@H$$H^%"0:)1%J3(*]U(6>Y'G-*S6PB3I-HY9]2'_](2%=392+F^80[)5>&D MR%S'+JNPD1+-#@N^Z&LS(FV]%O&-"_U-*J+L16OS)BA-^6WJO^J]88,&J$SZ M35A@+>!^\[@M?G-,?>65Z/M-Z+#@-63U%5C4\9O0GOYR;7TU)3ULD3Y,W^8O MTIYQ>F]6UV7Q6+/7+=);S1M*18JKV^V6:Z[H%FH=M17VN>4ZJWCWLHX*JY+8 MS2QQ@^W%BAQG93?G/YK?.?1C/KK$'YSVJ_X&5@SFJ]* M],UIO:0SKMK;]NAIW5]0+%#LVLF_!4N4!&F)#K9'&R_P>:\"=;X$!]MOC]4^ M55G3!"L2?;-:+_'U1;,:+T-P^[5=TO\6-M\>311\DJY $46MMU,/)5&0V>3% M)([>D":<$1T3^//_4$L#!!0 ( #QH9%5T7O"W*@\ $G< 5 <')L M8BTR,#(R,#DS,%]C86PN>&UL[5UM;]LX$OY^P/T'G^^SZCAM=[=%NPOGK1<@ MK8,DO>Y].M#2V"8JBSY2D)+\D>J%>3-%%@<4VMDEJGH?D<&8XI#[\ M\;3P>RO@@K+@8W_XZJ3?@\!E'@UF'_M?[YW1_?GU=;\G0A)XQ&9-U[F$>!!_R"+:#WY]G=3<_IG9R^?S.\_=S[^G#> M.STY/76&0^?DC>/\_L&GP??W\G\3(J"'0@1"??S8GX?A\OU@\/CX^.IIPOU7 MC,\&IR4-3!UG/MS!M"?__7IWO??,)6X7N+0%72Q M]*$_V"'2);X;^>H1-_@Y*2ZYLI;3& L\A8#S+1D5*1Q\1 GS\IO_GB42GF\% MO .7S0+Z%WC7'F*A4THF/HR$@%",I%0#7U$!OT0*\'6'7@>M'.C1\G@!\71[($]F MN2Q^\-'R>8UFX90&-(0;NI(?T569T4U= \1J2G"T#)L=IC_2V-Q:G&8Y+'SN MT;(Y1I>1;Z$9F]^%SST&-@OM_"_PW!V6K&5$"+W%A+%TZ(#XQ)G(FZ2ZU6S!@H-W/-T=%]5QY391 MA'$G:C?B;H]Q]-X^]D_ZO4>@LWF81++C=@AW7X3S]H.N28D!SL=%'*!#RV61 MUI_B4.\JO,",^V'(A1;7PY]Y N9':I0V8S#K/XSP7C(?TKIA.>EA (J)ET>&@Q#.8K70G-$@^E5^S&57T,N8_R](]<,C^"OX MC$[7/&^[H)U&+>;A#A:$RJSR\?2*"IPWL@];(:.P98L9R9D3[31F.>X'?')> M6E_#UFQ'_LC:P[UMRQ;4^3ON>I7LVBJL*#MKM3-MLFD/34#Q@F93N/?03&BL M9C9%9?7I:-?6LREF:D([U&?@[0_"0,8B;][?_2[YV M @A1AV!!<); Y>46"\0JYH2#_+",PA@]FMH3(JBKMJ(\ZD=RE^E9Y;A6/1UK M0!*#&MH8&F/ZW>4*'O'/%9)[*9(8A2&GDTCY9P],?7=&!'C)OO6(E4\ ;K8"3&7R)%A,9IKN(^R_&,(Y"=<,2VDDYX&NV8@/2%\*= MR4%<#6=Q&W:N676[C!UNR-OD>[1 3X/!8G3]=%D@F$\]E6Z1!J3$'&1*1I+F M*Y4W99X3!23RD#1/?TULTKJ9=:ZYA*;";:[+(IPU.)'DW,J^QDJOL-E03R+* M';A 5U(:-"_UI"^J8AH#CU2>*]HR#^0)1"F XO)=2+^;D1O$1__*[SFH5-I[*'R;^+:$XJ,[) MDFY7W9"YW_/ :5$5\:4N-PG/" M^1H-BJ)=@TIUS:+:CLE" #G%C,J:'LW9J/<=59@?D-.L913))=I6; UH0BH- MN"-1\2S0KF _D;)=9]5JG2/(?<>SHJU.D-R)WVA\?2KB!,B-%#D MU/AYA\O6^TY-RZV5G!^ B/F)4+G9A MM:ZP%&MJ2]:8SYM$GNV>KY(-.$J[ M1+M>AVCTUGVM.F91R%! DNU9V@]%9=EW/2(MV@LKF+V'CB?N M7:D+6U#2M,1+0KTD'SF-ZNG$0"K4-(R(H28)U[<^"4(42YHU2QGDSY\#.E6, M8KB3N^,!>)>$!Z@1Q4Y\\@*FU*5Y2/0K&L6C;9W6LT<[3-[,'.ZLDM=ETY:G M!IX\Q\RFPTRE,"HK+YO.)I6BTW8V;#IM5(JJ1MC:IK-$I?CT]SMMNCKEV4[- M_E$HO4">?0HP"TX%_\0^59@YWHY)VV7V2+G/99^"RP+2[&)9<\HK>R75M9UU M\?S2*9XJ,2Y=1+]V/TU*/7R;UI2"*&_.^M+.=9\F%A@];%4BE#:M-GKH-!.C M;%J%M(&5)MS9M"15ZJXJV5\VK5UZ("LF,UBJ+K.0M07%L';45OE-5V?#>K&" MNF^*S+!BS#4^- +TEFK%+$B54KALTA,%P=7]T%CQSH1-^D(/4M6HN$V:0P]A MU1Q?FS2('L+BG$^;U(=FCS5).;=)JV@G%&6;)/;JECK RO:ONCO4M?E:R%.Z M[NYH2T_G-CW95><1'1SOJB]FH]N%+ZA8,D'\3YQ%RXW!E^Q I<_9O3]8JX+A M]'R!VDA&*]6, +ZB+HA['.[/Y->O8#:5%P)D4;Z78.0M:$!%*#E=078G5*QE M%HF\1.*6LVEN)D!&B0Y2D^42)M]_$+^8)\+QFPQDG)!G,&4<=H) ET_(+"IX M=/+X^AKGJ/(6Y(5G\04]Z:7Y.8@-/+&;Y.YDH)WA.,SO[Y+21B5'HV7;&3GR M9I;I)DDQ82Q/TMQRW4A;RFQ!2?/)?#B?V+X\Q5;?";'*^2B U'H,V>=#Y"PRKI5%LZD3->"+.?T*3X);#@D8+(0^,B+#HULQFC1EU M*<\R7X&9O')\[V68NS<0J#NYP+EU.I^#FQ5"[$:+; M6XNT@LN:M0PC67)PJ1J\^+NBI5RKCMF-4AS9

?K3//[TPWP%31@ [Z-=JB+KZ"!GPDU+V_>20R]*\;O8!EQ M-)<%R(!#V0W5^A4[P9,<"7M@N.+*76:9WXMC0KY5;O-B"YF^C69G M+&[?CJF,MKCWU>T[OB_&TW^!CPHL*;0N?5-KBRUWQD@< JBG!FLVTS%6_,:+ M7#6"B^Q\_8IFT_^JK,WU5]Y.-[JKVJRL20SE[Q=#>3X-^*NSXZ$+_U?[X;>1 MBJ)+QV_VTU$A0*V+^MTQHB[;4=*VC.PW"VOO.6ES8"K;L542JN]<:/-AOR79 M[H:<-C'VVYH5-]-K9$D;GR%%.SJ[EP35C <>@0^IRT#%J$<-Q_)H.K]*-*N& MIWDT/&B'_8_ :TQ#5J)[!Z!+UI;0QQBGG2Y6!2E-V3,DV8;GT>P=.CR86[G MZ!A6'4W6*N26'L,:4W'NZ*9&V'02KZ/C%*R1>6^=KNF>1=L2X&W:H^F^=^JF M'MJTY6,MBZ4)CD8/Q 8L!&@:'SMV.7QF?4[\#UB1!T2MU84Z;WQ8Y"G"R32+W(Y('=DJ)W M:#9JS/R58B4WY=[*G1O48!4(:*=5P]=Y[?>5]"5&S*7)#?^Q3JPQ&%IKU\Z< MF;:ZFK4[?:RZ*>( '+4\JC06W>0'^;\)6@/XS?\!4$L#!!0 ( #QH9%7< MQ?GBQT, .=8!@ 5 <')L8BTR,#(R,#DS,%]D968N>&UL[7U;<^,XLN;[ M1NQ_J.U]YM2M;S4Q?4[(=KG:L^62UW9UG[,O'3 )29RF" U(NJS^]0N U,4V M00*\@$DZ(SJZ+ D ,Y- (B\?$O_XSX=U].J>\B1D\2_?O?W;F^]>T=AG01@O M?_GNZXTWNSF]N/CN59*2." 1B^DOW\7LN__\C__Y/_[QOSSO$XTI)RD-7MUM M7]VNLCB@_(RMZ:O_.KG^_,I[]>;=W[]_>W7YZNOMZ:MW;]Z]\]Z^]=Y\[WG_ M\8\HC/_\N_S?'4GH*T%$G*B/OWRW2M/-WU^__O;MV]\>[GCT-\:7K]^]>?/^ M]:[U=T5S^6N0[CL<-_[A=?[CONFSH;^]5VW??OCPX;7Z==\T">]?_NW MAR3X3DC]U:M<=(3[G$7TFBY>%7]^O;YX+HLP3E\'X?IUT>8UB2)!LAIAQ>E" M2^I.@)*"'^2S__=1SW2[$=,@"=>;B'[WNCU1 5N3,/;6='U'>4/R2L?HG-!P M36.Y4KS\<4UIU0S3-;DK,1[WLSOJ[9_8D.**D7J4,5V0+$K;"_GQ.%J"=]0^ M)54^:\-9RB)RE_S-9^O74I6]^?#^S6M%L= $*14/2[V8I52J..+[V3J+I&+T M6+JBW!.]-IRN)$7W5&@/\9EZ$4N2Q]QM>'3G[497;'0RN)9E(9HP#J72^BP^ M%JTE4VZ9S^FC#RD5&TBAYG8D1LQ_-@&2W01*J/^W);M_'=!0T27_4/++IP - M__@8IV&Z/7NTS@0K-/KE.]W/.361U.:,%^)R3TWYM.V%JL]T2:+\V;.',"DA M3-.B,4T+DMRII9LEWI*034X8C=)D]\V!PN*+/\["Q!>3)N-TOKBF?D22)%R$ M^98[6[,L3F_%##H1S_WS"0B])7<1K:/U4:,J.@]J=<;]5XP+J_B7[X1EG>]1?Y>OC :_?)?R M;#]CR_F('J M->3H;>>OYO'>U.C=E&]P;3DJOF1Q*B;UQTC)59@^="G_L.;XR.EILL2J-(?C M556O-4ST0:GZL-Q,#XS_XW6)$=J]0?Y!F)SWXA/C6TMKNZ2G.U-:^W"TD]%. MGK05>;&;]R6$:5@PZ8*6,%K": FC)8R6,%K"75K"YGN/<]/W9V]-^)\TE4+W MA(&33]X\3E*E3 VL8DU+-(;1&$9C&(UA-(;1 M&.[:&*[<QPFW%Z6R_)*Y8%/IAO2UM MUQF-:C2JT:A&HQJ-:C2JNS2JF^Q"+JWK@/F9^H/$@4?5O//">,'X6H&ES:UJ MPX&<6--6M/1B1<_$XP-)PGE$EB7V8>GO/5JLIU+3<$I.6?!T_];]W">2 M=[&42/3?E/"/<7 F7EX9935->Z3RK)A%^;.O* ]9<"Z^*[/W:]LZHU/*R(S* M9RT=T'AQ6(4ZV]>TN5MJRRQ?DZ8.J,QGFWX)5;9S0-__S0A/*8^VUW3#^%/? MTZ"E QIO.1$FFWQ[M43JFKJ@4CRBBK*CGWN/R:*:25DWS MWJD]%8N"D^A"F'M>J?M(O89%XM/&:A* M'9_*6 3?5FXU1KTZ?VFBY#&0Z*TR]DK1=M M>;/>J;M9T2BJ6]QEC?JG;$VBZ"1+A'&8Z#>2TE:]TW9+'BX"&4?:U1"H43XU M[2>5F32@BIVM:](C53?Y":WMVW=WMV%:ZMOKFCB@ZN.#OR+QDFIT M2%6S'JD3KJ^T,F^VZSL6E9!5^OM@&< 7DR$SBD-AGJS)F^HY3V8JLP^0];>@V.M(IEER-/WX'@RRSL9LO<#./8,\U6& M_/T(G#]-ILN0NY_ ^5(=G35UR>)9+=8#7E"]X%DM%'-:4 M*7CF2GW,VY0WJ/:)"4K"E$>HYHE)=M:41Z@62D6*WY0UJ-9)1?[5E#6H1HD! MI,6417A625UBWY0S>+:)+2CNP&G_AVM\%B2E?%ZRHC1-/#_7 M?-Y&A82\+"99$,IV&R*_7]%4.*F1Q;'V#A_FY)!.Y_3B%SKN((@2KK<46Y MTHT:WBQZ#L51KMIG6;IB//Q+K/1:3G0]AN7@(DDR<^H?MQZ6QM6JVT?0Q;[C[*W9[',-#)D MK_\ >WOV# )] V,7[7BT=L,-^>P_[-Z8STZ68O\Q]Y;\M5B'_4?=6_(&(MJN M:JB^]>Y($B8>6W@;09CXWK*.E\I![Z?3U;YS1^7),X6Q$\S M+A;=.?'#2&77_TDV)+Y\M,(+GC"\>?3PW+7E X M*5U_UOVFP4UG:J8U5_D'&LP7)]M+2N)DGJXHOUV1^(9$] M+Y5IALO"DL#_F M&YI#O9-2)='? X:33W(1^U$F;9-R.B60S'PNV(_V\C@?=&W( PUKNC=D3W)D MP8T$%LSB8!8$RCXCT=$M!R=;*T8K%+K;ASN5ZYPO21S^I:@XW6,WY$X5!U=' MMNE\<1[&@NN01'LY)!6W#S^18%^/P4S*Q#(I6.!]')FB:D9L+6'6V."$R+7C M[4(GO*8VS>A2CHW\+L<3QZ@$O>'$U['<3!X?PP>8O 0 M@X?CC/F@>8WF-53SVG#C<6XG?^_=%34>I!EY)TQ[Y7I;6L@UH[BSC8T(0:MX MRE:Q!D4W\_^=A9P&[X-?L[MR2$QMN_;&5L+3(T-+?#H(2'SXXY(\A.ML74J= M]O?>J;J619A*7ECI;VZHT4JHY%6LSU:F20<;]I< /N M'>DA2#6M!Z'\]+#KFB.![#J[K8M DE4E?O)Y@Z'J-E23J6OGF%IU*[HPUV2( M.0R*3,_)5M8WKYCIQOT@<"-IJM1!QOVFP!,=73#;RL@'%QTUGY7,..X"*GK?QTJ= M&.[0TF@'-X?--0RK=P=!3MY^%.]$P'H5T4TP4U5GV+#:<#&H^6AJN$%0D+TI MCNH C2&3'55BPF0\)N,GG(QO$F]VGIG_P5LR%GP+H\@C<> Q>6['$[(1ZC 4 M;\0C24)3VT2]W:#N\O9-Z&J1QO?SB^_R<%;QX1#)*K[XX^O-D^C5\Q]@I/!A M48. @EX !:.M#E23/;_)][=/E"TYV:SD=0^ET\RH[3BH[3XC4D?U3ML>TZ)! M=-2V'3PCCJ@%1"U@=M#J_#-6(YL*-T-GT[$:&?2:7"^7\T'7QJ?"@9W%P<7> M<9TIO]4<"==L$*RZ-H&J:XCS@1!)1)S/.' ^]5XJLPH90.+O9:* L"[<*$KQ M#"E2K MG/?&Q+AS6A<.Z<%@7#NO" 8::(=9W%,L##-87#LK+(F$(9MZ:>85, M#_< -3F[<89;3<>.[D9$T"&"#B<,.FP3VG<./ORQ0-QY*QH%WH)Q3QAGMG4S MJP=Q!RXTH0-K KU "-]AW< M"5.@=$*T'V@X/J7?NJ-(6U:AQ0C3XVQHL,O(P6&?:$PYB53L9BWV5$E*&M[3 MCP\;89>6EZQJU'=( ,)G5@MW,^@!@8-*2(Q1GW%S,>AJ1_@%!)\*X1?C@%^T M-,%8!W8.))'8;#3Z#%R53A]=HKTK0QU,V*?-A&5-W3%0\AV">2M,9CH,N_0?:@=Y$X3P5:JI*ON]=ZKP?HHIW$\Q^T9X\+3PX)-X M9FF;@9)"\\7IT09W32.Q%0:G+$D3=<'3B=P#K\A6[HY)W;'/CD;%])C=Y9'" M(F);2E71O;D*752FQ&K;.Z7^BO(%X^L]QYKYQGG13)Z&G=^E/LVS.7. %$LI98@,[/! M1I)IH#)&S2;@Q%+5%0$7<#.Q5_W(:N+4(*?N(%L*A!4 M8+98!HW]V;P>Z]XX1ZG&\;E3;6VMG#% M$ X-XEHJT"J>LE4\VOL07Y3ACO>3X?UD W&%]Y/!O*7KY7(^Z-K >[MZ"I/D M1NCUS@8UCU!9],1 %0:J,% %CA%;>Q7OKL*[J_#N*KR["N^NZK:$%MY=A7=7 MC6TSPC)@F(;#-%RO:3AK!]MY-NZ]%]-T!^P2:U$6S5J+R9M(&)V7RE=BBU2S M&=)=MLZ>*LS>33E[US[HXZ]HD$5TOOA(>"P6=W)%^0Y]&OIBSS\+HRRE@=)K MM:&X=J-A>,Y]>*YS.HTFBOW['T48L8HM2*&G$44.T;9&VWI,MK5&!;".-TGG M)O;WWEUQ&:^T.>_".'?$FQG79H.Y,ZMMZ$&#>LH&M08.5W75]C$ KOY*;D=6 M6.W-V1K#S+C?-+@9%$I21IT>^U'3>B"O\9KZ;!F'?]'@(I"5:18A#?)J\;NE M(/:SSR&YD]'PD";BMVQM[4UV^A3T,M'+1"\3O4Q[I$:="F:-]]'1^=16NQ(X M)\W\[3!CPPY4$*&/&3L1[ -&@S :!#(:U(.1ZSQ*](.W9"SX%D:11^+ 8Q)1 MY@FYD7@9"C(]HOAI%C1J-+:[&%(+\C"D-.604H?>]KF"]TQ'YFY3K" MTJ.V'FD@CC\5:\J<,VV/03A@59(^S]*,T]E:PFK^4B'GXD)/JY?9Y2,P-H*Q M$8R-8&P$?2[TN5Z"SU5C+#B>EMWRUM#$$'I!T_6"FMLZ(TPB6=H_(TP9=6?X.'=P/WBA(#X6 MF^VVF5.K'\"=(UM' SJOZ+P: 00O=M/H-.-\M]N8HP7-NJ.+@RX.NCCHXJ"+ M@R[.=%V<9KNB<_OW[1LO2049=_)Z9%FO97^#P ;$NI(O\JX_Y*M+B*2&R]L!P^$90$6VFC?A\RI)SNGBZ0 M:Z$_>.@+':*8F<7!DV_:Z*?^'HGQ$HR78+P$XR48+\%XR4N(EW1CW8XP4=RG M"3;"K+([V\I0..]!"J>]8VS(_O< V'<=.S$4S0\ 1./<^W4?JW[K$=_/UEDD MOMX5A9+Q7$Y7TG:XI[O+?,1+:'A&H=4S',:TVY.)<>XIQ[D[#*:<'D^K_$K# MSV)26<9'K$;!D >&/##D@2$/#'E@R.,EA#P:;([NK>_W7O':/;Z[O+2AC5T_ MDD-+VI08M)>G;"]K<"'Y6CP7"_MP7?;)]A-E2TXVJ]"?<4KJP1[-1VEOL"4\ M/3+6Q*>#<,6'/TX%*2P* T644KPE,JYO. "=I=/4I.D8:!WT*J6S,"'+)1>+ M2E(E:ZG?TS@S/,5NT]%C>-EU^P M9MC:*>7%7)%Z\J/8;'E,HM,L287JY U?5P+S#N+1;OAB4D^L19MMDCQL0*YA)>N+=_BTL?RF+>S4;HFO1SXLL+ M'K><*J#4Z8KP)4VLZ;<;IFLFK,EU1IB$G9V*G2;C0ANWDK#]4%TS\SL/Q4/9 MMUA>]O*PVZ6M&;$;I@,F=K?NR <+33U?+,IHU+?J@(1+$F<+6>A+UJ_>K96+ M^)]D0^+2Z+-E+]?9C\/;W)4S\W-@[',U;-D+"B>E>YUUOVEP,W2N[4!=_H$& M\\7)]I*2^ C#3B+ZA:6B@?3#0V%'!P>_J3+!T_T#AI-/(KS&* N$NBBG\PM9 M4_.Y8#_:R^-\T+61QPCV$9\3$DG3\69%:3J+@UD0*-^(1)*)W'(03K45HQ4* MW>W#,\IOO8Z/**C6QM<$D!\XFO8[E# M*PY4MJM/;3*1].60U@GLE=1 "[*&@0B0BV9TFU&K%=E17@\!!3T""K2*8&J M G=)]6J6;!,!X'+HMNQ9II7 )=%M^6V26S!DVEUQ#UNFF^3>#)EV5[;#@.FZ M#(TA3S]"XJF3%)]S5,A[+Z;IKG[&)B^LL18[:B+KJ;3$AC0:VQU"I 5YB!.9 M,DZD=1!W)AX?A%&6AO?T< ?6QP?I+=! @'E(>@L+=!B'PF/A4)(KBA798QF M:Y8=C,,GL=].Q\90/(;BM0[1R".HZ*RBLPK$/NQ1=SLW&+_W[K)$,)DDTEZZ M"^,\UM725+0^]4W5-XB75U.)X]IL;:K02*OD5#D6#0IA."D6I)GB2[\7Y7*^& M:QGWFP8WX-Z1'A=6TWIHRC^*OV3R,J6<)FERD20R_<;EO])D_)+))5&4!BY^ M-6>TQ>"#R.7T8)W(8\UA4&0A;SF)DP7E8L=Y6\.]S1!0>2Q];;,XV+VW]B(P M?0( "3J6OGF-K2MW^RO1545.PKQOT@<"-IJMSQC?M-@YM! M[9>BN']RRPJC:J>3:/*)LT0WX4R[0>'E"TWG"ZF*=LZB/5_:(3#FCS%_;5QY MR)A_?:6IY[$ 5N.40^+ U*MBC5UCB-R:[_6L\98ZNMR4E8,-#HML/BN9<MB:YDF,D1T-:1_[&=G9D#Z3=",[,=)[NFID MATE<9*9&=A:E6T>X@YD MV 6=+3"'OH25\FT>'R\^'$+CQ1=_?+UY$@Y__@,,O"$L:A#]V OZ$0M$]H8V M+"YZ.%3L)I'V3J_:MN.@MON<=AW5NPW@F!8- K:VK=NS;6MY;^1?Q1&%B_TF ME9_/?D*^7:>A\82(5D6T*A;6Q<*Z3;C!PKI86!<+ZP(LK'LN774:R;MHGMH= M.U]$AXNWZ8K%@B=0+#BOVE)^/_TYXS12+.:L!QR4KT7R$KM!W6&#F]"%]4=?( +W$)>X)&)67D6"]>&K1K?_JI$+I+,E2:& 9LXROJ1"56@YG-/%YN-D=M)POKC@3]F2I ME-L/-!R?,OBQHTA;J:G%"-/C;%!LR8Q3,E\<2-R1]X0MT^9N:5>[RJ]B4Q&V M3I$6N"(\G2\>A>MTK-CU=LK9)S$MI TW5]F.PQ(7JBU.Y7&XS;'W\X0QN\YN M^:(QY<+UE\':M3 RDE2&3.]I<9%0)8#/JN^06*;/K!8E:] # @>52#JC/N/F M8M@Z@9SYE :)O%.A9"&+=5"G"!J,@(@K1%QI WR#QLMK$5'K>G*K0*5*6HZ85E3YQE4BF*PA3]MK(W>( 4S]^T4%FOE1X": M\GTH]HG@5#"]:KT>,;W:46KO:UEJE4^X'=I5.;TH8IU1>84OUX!-.G: ;&?6;Q,*5\+\U@L,.$& MR*>]>_/VG5YHAETZ($YP*Q]!9(F_6\*7-,W+09Z2C320YHL3*F0B[]A5]1!_ MHXFL%_B9?:/\<[@.G\:%.QUS,/:^;C:=L_=\S/[3S""O,;T46U4E566_]TX5 M7JXZAV6Z\\#-AB'4M,XM'CD.&^6Z4?!(-T^0BSN?![S1Q=_9JZ>\J/<#;#O-1# M:22SM_''(9U]V#97WT?WAA6QN:[%9?Q !+'3@UFE<&UT>!6,N]V6( M8BGUK)F93SLZ$&Y]. $\0,>Q( M<1AE"-U*!T]IX"F-Z9W2Z"E4"\_B,9>&DQP>/,U>7S.Q$49YI(= 7,7D#<4# M[<[V)J!$0U:AW<7>'Q;"4" _344@763D#67V,S"9.<*$&DKGPTN1C@&\T]1N M$PU\#;"RA!L>6L6T&AW"'+'6OL3GYV1 N*,:,?+0-C[9- M[0C8* _7-':X]C[4[+#S2==<)N3.POLP$/O7=0^(=MOGCE^:OS%YI82L)N=: MGN5/'J]$K\/DSW-.Z46<4BZ,=E?RK'HN+&G"!K:CS%[*88 JK71+^;KR<%FO M#T2X.\+=]]$BA+LCW+UWL2"N#'%EB/<>(="L6P0O(L"'1C_UCK6$ T1&-*&U MFD(T(5!H2+.(S)A1A@XYG"&(!_( M'3["C@[0X(@FK" R I$1B(Q 9,30%"$R8L*%.Q$5 5Z:B(I 5 1F^!$5@:@( M1$4@*@)1$8B*0%0$HB+L64!4!*(BG*(BNBR_@YB(H7.XB(D .FD1$_%L=2(F M C$1B(GH=Q(A)N)%8")2YLFB%VLQ@,KD+P2+*IU/92I??D.3S<8!**(9(3!1 M$6UX05C$E&$1MG>"5]Q-;M8%,1N(V4#,1K=H"+P,],5>!HIX$O#21#P)XDDP MOX_Y?5IB'>9@UIW^Y>-VPTJC]1L D+(6B)"!!$BF _'?#CF MPS$?COEPS(=C/GP$V7:[HH]O;7N4B.YZ<+=%WXVIUX0#[0< P)^\Z2CVQ2Z6:_KTG(J-B41R MN\@$4=M'C:T8;S2R4XGL*2CNGSNAL=#(J8;+FM883GU.]+(0>YQNF%8%AD+,PV;"$1)\XRS:' MZX3EG=*Q3PO-'2^?W$M^'.MH-D+7I)\37P6@.8WD[>JG*WFS;6)-O]TP73-A M3:XSPM(5Y:=B6\FX4,*M)&P_5-?,_,Y#\5#V+9XOSL,'&LR2A*;VC-@-TP$3 MGQ@+OH51)!\L-/5\L2BC4=^J Q(N29PMB)\JLVVW5B[B?Y)-U;$<\UY.0QR/ MWN9I1)(D7(1^;I_ICS$8]H+"2>4A N-^T^!FT%,2CZC+/]!@OCC97E(2)THK MWJY(?$,B^H6EHH&?^T^BT=Y]JBPQVOT#AI./=!2C+!#JHIS.VN,Q+4=[>9P/ MNC9RYW?O5IZ0*"^@0VDZBX-9$"C'B$22B=QR2$ZV5HQ6*'2W#\?D")XUT(:Q MATPQF"'U3:T?UMC(@,BU8Q6A$U[3?6QTN:I&MC88S+K]Q->QW*$5!RJ[UZ"($ 10(H"C+NELD D:&H6B= M5AHCB*)U;F%D<(EN?H1$D^=I/B<@T&^]^ZR1/"4)+)XX5T8 MYZ:+)W8:YA_N;BQ.M'L;'OK46S"NRA42_]]9F(2[5IQLPJ!A3Z7 '.W'$ M"F)57B!692:G!Z?!^^#7[*X\&5;;K@,R3HH)?GJ8W]=[I-M%()9"N BEC9GO MVCMJA'/V67PMM[B0)NITH#Q<*!VGI=*M^6_;TXSS(_/XF#&W3X8OJB\L]@>3 MUO.'#R>PO2^^LRU*F RZO1YVYK6@U!^M'2$QDC"H(B&W0JG-5E0H2T"79F[)D- Y?&C>",RL)J7 MED@NA I0>E7^49'9[>$)0TNH\893-+E+4DY\W4',_A\X6OD5MDS>TH'X2I\W M=ND=_>!.A"4/':T/&NWL['RN:.5IHK&'UASIBDKGSL&:5;& M,[[0CE>WZ=.<2NZ4)*L=@>>@C+QN7W+)" M8KNI0Y-/G"7:BU0,NT'A14S>^>)X7MCSI1T"X?0(I]]GHL<'IZ^+8;+&@>C1 M8KZ-PKK@$*KF;X<9)RE!X0G[F+$3@6HC,-1Z_2$PM-_:.ZX2 V#U<(^,]R3F MB@0"N$DX7BE;A6_!P:;=RKW<-P:'K1[O9#2(D($#=;N1]H!X)'"+WOV.7YM3 MF/2V7\5]RZG9"H@Y:2N@1NA#P W *8*)37(=?G;2!L8 \]P$"C)I,V, F1MD MDL&=7!NYR-L*VMUQNO$(VBXG;2CHGZ8L:+O8'%^\/L';UEL;1Z) X_)0)P7[H/!'E%"\?R5 MO.TQ$;^HX\D^X7PKR^B3-_>Z7!W\-L1*WCP^P4>_'99^7S2 MB,.]05^H^_S^G=)[+&VZ#,+#.>,T7,9Y&,_?JMTE4AO-)[$R/NOQD_8#(,H0 M489[FAYZJ17P %IBUGS_!)?X<%?+#$I1NK8F E1'EB9IN)9U MV#RR7'*A/]6?:WDKW%]Y42Z:%V3KUX]M3 8X-[8E)^C%OD O]ESA#J,2W*&L MANB+&30[FD"S14KY?U/"SUE66N6L@^&<^@GG>MCE,:%%9<@O8HG0[[$08E2,#EHAF370S&'"^;\63=2YV MR]&@<_Z-=*_"PCH+!/WMKPO^D MJ=QFO83Z&5>8+2]9B5?]"0AYW:A8([I,$=T'@ M_KG /"4 \"M/=;9;D:=,RZO^CRC=^G-?DK-?#];9^I>'04J_QIS2B()[)19 MJ1,J9B&])0\:1[?3L4$EZ0A)M.?VFPPS*ZX' MQ^0:\EC7W6V52A+_>1NNA> W+ G3\OMMS!J[K1')UFO*_9!$5V0CZQFD^0E\ M&OP>IBMU(B$.Y#\24G\OI![7\-9^0,?\\PWC0C4\GD,U+!KT<1V;)K&4^46< M"!-;VD(5=V_4M,9HM/MH=.=T[HYK)&*UW5!^'_IAO)01K&>O/KD5="7E/U5> M1]/'(U!&^D<,>KO/UYM/[)[R6"F+)144/MUV*U6F;7?'O*D%*]_1%9,GI7P2 MW61W07@?RDQ!'6OO3X$V,N+9.T6.JC< MYL"+ T*]6 #3R,)Y )=6['^)-;$2P*4>^Q:32?@ 7%:R_W753=S!K4)"@ T" M;*8'L&D7C0:W[77"=)/,#+B=K5])5&1CP&UGS21AEK* #CU842%A(:)4MMLZ MAQT8/QXLY,"2 X0;(-P 4X^8>L348Z>4_RJT\"V[++1P+?R@KCD(VH^,*VE7 M[4K&_9-NZ'( $ 2 ( )Z, M$ 2 ( $ 2 ( $$ " ) $,!8IQ&" ! $@" ! $@" !! %,% 9C%2\%M;^V8 MLPV7@MNV^F2_JN(JD VJ'?N:*"J8?/X=B<1F2N4]'4]2T($PL!ZUW'I2,\K+ M8C(2>4?MNDSP=T[/\!G_GEA"" !" !J?K"X452BO&7M(KUDD'KT\+N54ES7J M>GB0LBD(+VH\W:XXRY:K\_">=B4=\P< DL^X3^5C8G'@6/R(D@KHA:,7/CTO MO)^M>Z1>>U\[]4B]^)&@TS]X87PO/C&^/?JKF2=J-)8[+]*"'/0 T0.LL!PO M=K/GT47E3RS'\D;#T*FOF5_69!@:I:HO+E].*+_7^D#U'=#K0:\'O1[T>M#K M<6+95FUT(_5=3/>8D?HB^DW?N;_QWHMI*LQQT9!Z0CMZXH^U4"?)BG J/VRR M-+\ED"V\.Y*$OCK=&811)N\1?-(Y[]7,6W% B3M?QQDSZ"FAIU1A;7XD/ [C M97)%^8V<1+("A:\Q.BO;#DKU6;XL#.E^TMJQ-^5SI09(=*I6O*(HF:4I#^\R ME4"_93OITN"*;!7RDW,2+U4_O=?5U#U?)FHNSQOV"+])K3%5432!>/KTOH4!BW;^X0)3X_\0?'I("3Q MX8]+\A"NLW+ZM+_W3Y58Y)54E?W>.U77TDXIF4JEO[FA1BNADE_A4#1HF9Q3 ME',8^O=;;FL&X@*/R>;"_)OQ@_C83]5%V"TG8$*!Q6 M8?M,NT'AY2#I+V1-*^NG-1QE^IP.NLM5T*K'=IIU@L+'-952%K[YL=H3;GK( M@K?V#)J,YI3S2W6"61"D-NB2*5>UN=MU=IMA93+.NZ$IG2TYS>-^E;S4=\#< MZP1RK[><5>&2GW<5F-LPF)@S86)NO(W!E=IKBU6>YX!M1' M_9N^/]9NP?JH"+2"6:AZS8D5ALZ!K5&33=< MX*NJ[FWHTPO@8!\=*(8&\6-P6) 68C!.>(%#?G3P[JL=%W"XCRYFNVF&P>U2 M1P E BBG!Z"TRS" VUQ;,VF4!@.WF;9FN^) )I"MLRV+NA0NN!VS];LT3T$X MQQO^Y"U(R+U[65U)"($D68[T38Z_9PMOL2L(OX/)%6T#3VQ.Q..R:A$7'*HC MI$UOI'5#C#L,HDM^$(TX931B^W*C:F+M"ZF=A8G4FF*.:;(QM>VQ6&I7 *_2 MZS',WY1U?^?<5:/5GC5P"T/8R6D7X<\5[SR^WBE=>>(A^1JS.UGV0TZBBWB3 MI>)G)E1V%*J]_&2KNBO7N1IITO/C4';VCQL6SK-CZIBN*AA=7?NAJ-__^6M( MN3!C5]O/])Y&9JP8=!Z*K\N#V7;.Z;\S&OME^WR#GL-PI)9$HL3[ME(Q&_08 MG(-WUAR\ \;!>VL.WD/@H&QNFRGO^I[3X0C&SG)$7_)[CLN.!8#8TB%DG>AJX(#1. M3AGOO;K4P,54ZVO43)9*4VR\X%9;9PP,UJW)NZK3!Y6;/2A<0_\3' *XKI^) M;AQ*&<5"CHPB;>XQ=XAR!=!OM,#^38$<8!3RVYN M0!P5QM<02>4<^?GVC9>DS/_S3I9L51>!""V4WP2BOO?81GT@?AK>"_72$-/9 M]C'NT)K=4(HX3,1A5F5A]E623X\FV%&IY)/M\T+*WP@/YFKR)1\?A/43)E)Y MYO6'=8F.AKDV%NGSXRR6Y"GA_^NRB.,O0F1>V31B4Q M8>LL:)B*C;]OB54\:502^R0:IGL6JJKP]?BD44GLJ/I\K[N#]CECE=8 NX/E MTV%)-C';^@X*J \!]T+$V.3\;',<1M*-R!B7K$NVU2%DW9",<4&K=-/6M#%D&]J%@4/&(PQ% M]M/81-8VDFTHEY_')I=>@P"&0OLP-J&U3229&H;N4,+.%%.+\)VIU*9F3]=D MR$W%,C6#NE'2VSWXZ;U7>*8>IQM9E"]>BK_N:9Q13XK-8QM:+ GO;ELTDDSM M^S6$0W7^8(< J9YH1\C4E"%3FHMT/V9W.K&PY 9^GB,VDZ M!EH'K4HRS[5^O"RF9'4)CYK63BF_SC>O<[%W"L#[)$F%:)SO57%7'SZ@/ M9I2QGLW>08.48:V_4K!F^VQ7XC]FA[VJW5T 4:")92WYSY/%72823%[PL I$QLB,3?R G,CIXR+N2(F MTM=8Z$(Y$@UF<6"6K;#N/)5D#F92H&8GQD0KC$S*A=HB/NM//%>TQ-P/9D(P M$X*9$,R$#,X(9D(P$P(KQ(R9$,R$8"8$,R$07M_4,B$-(R^8(,$$B1W'F"#1 MFBFZ< B,!$C$XF44WM/ (ZHJL#PEL:1LR)($\Q^8_WBYV80KJ5QXNKV*2)P*HU_>XK"11'VAJ89\DRZP M8]C!\R<*[#DD[,;[S _,;I ME]-+XJ_$;(R7YR%/4C^K.OY1V[H#DB[B?U%?SMA+%LES9U=R&:S%WWJZ#+MT M0-P\75$NA@\R7Q- KFO6 1$W*TJ%W%,2Z2G0M>G@\;?B5WIVQ<6NH^9!3$4? MJB?%I'WOV8OB97WH4\U^:"J9JYH3,1&6SQ>GV*I;3L.:@>-G[_ "ET8 M:^\]S/)R8NV5RI)9Z:E1AJ+K-PLP$3ZS5\&:V%.@HA*MIR7P4)_=>S2UU\%$ M_NS8,S.J5K?:'2I'PS<8N 66.!V5$5]_'UF MF ;>'8E([%,OD;HO\?R,<]EFHVX.\;*8"+K3PZU/]8'<-J,[B>"V)Q!#MU,. MW;;VHF>^S[(X3:[(5BJXTWQ.:;SIZL:#T'U-?1K>J\MP:&I&?547USR(C2#( MCPX)+4N36@:JVP]!_>>0W(614'=4VG?*@#OZJIH3L[ZNN< M<4>W_*A#6SJ:'_TX %TU*[NLS7!4SNX291::4/NTK5.J3TFR$II#_B/A!_7DHS#DV98*?T7I[2.*JM>N<3^GW)R'L?05/E.2T!U)VVI&3+H,S\,7%OOV M;#SO-1@GU_)RPOGB:T*5'C7@0M/#*0>?& N^A8=8RA-RG_[LE+8C@_A@VVL( MK6SKF.I[,1T9W^K59%D3IS366_)#V^N/70BU&:Y8%%">R$T]W=:37=EM*%ZJ M-360/>8Y&36&8WT'I_1?$OXG5?>$WE"Q.Q@(WJ#'X!S4;I!FG88Y?VUCKYAU M@L!'[2LQ[C<@-V9VBU$?MUS( $SNLM:_AZJV[JF^B%,2+T.Q4@N:]&*O:>Z> M]F./SDCLE1T*G/">CQNZO[X"(7(0J M(50)H4I/6#+(-(&!49O1?,1<@P04N-=HS*QQY 0,WMB:17-\"1C(L36/^H@T M&,1Q YYJ4P*&S/T CSEK_\Z0U1_AL=J>J9_@,=6DRD(ECS_#X[$\>6C(SP=X M_)@%XTSW7T&A)>X"E5 >G"^GAV+EK X/.;>Q@;;;DU9U+:<>K M%6H>GGMI.8T-,2'P_,O&V@BX?6":A3++]8*SX T(?QQ7K4;^@#/?[?BK/EP$ MSEJW8\[V!"/ I6C#KBV<")RY;OEVVQR^!6?!V_%>AQ "9[K;L6=W;./ K.,Z M)?NO$UE9V3^>?UZH)F#K8B5-'N&^8DES*K%LR93+EFBJ!Y^%R88E)/K$6;;9 M^[%%[OH))>8=7)_=?KK9U-2*,.@!A8,:F*=%3\<<)8(*F64^+D%W(S8.+2-U M'=R>3"_LMBO*;U:$TYK74-=\4-I/2!+ZAH0_:CLHU6=AE!UM435T/VGM]IPV MC846C,2TG05KL:G+5Y^*Y5BN1"U[N>6$"R/]BK.%]IA$28L!SIU+7V)72R^, M,S$1BHU(&$(G=,$X/8JG?WP0DA5&=A@3OE4Q%!G7DE7X6!2I:^13RFFB/Q#> M^Q.'.;E?3+03,0_U[[NFM5/*Q<9V>!D:>DO;#'."LY"8CE)MNV&IK=GH:ML/ M0WWMO*AHZ?Z'@3)BU39+# [Z9/5":\*X MX+!-S9C314W!89OLV+.(JX([H6#%J;,D%KBC#0W$5)/M G>BP8K%B@09N.W& MS PTPUZ LP)KR:Y@L216!\[^:\-?*9H#G)U@-CW["$""F\P=,]E ?&-8$LZE M9);, &>CFBTL:^@CN%5CPX$9XSJ&AP7CDV3E+2+V+>D:@E\Q\.# ^UK:$&X_ M9;A]ZZRH+ Q E6I:,YZ&?RDW3:KT)*]C,HN#*T[78;9.9(7 )%53[PDSW0SF MEN_@7UGQ_%MV3<42\T-5UO'@MMPR6<#SBK/[4*R?D^W71![0WKM!,S\-[_,# M2S67ZO7X***/,8@.Z%0YC3 M]W%>*A\(LVLBZ#=LJ$].HC]O33&)FRQD^CV^$Z.>+1W5]]T5]->S8=79] M@N?)/O.DMJ&&)>-^0+@QN5C4N.OP/#TI\];@756/ (/#DG*,A^IHM5>;=C7L MP++8E>RW8;2DS\!<[ 5.V3GCUW23<>'>)E0&89^5XWMZXZ=QQT'X*4J?WS)A(J*%';X0;A_9;-?.&82, MWNF65\-1AN5TEWJ@>6E!%7O)?]$5CFDRQ+ \:J\C,N6P=@"W_''F4QHH(.I% MDF0R:+3#P'R- W6T2- 6WDOCN7R5248.<32E=.:;JC">DV<.)L5+DA8+4SDA M^=M7MQQ&43)?_$HCH<"*1MO#*C:05D0-N\?>P&DPPA."LE;ZT0AONW1D;/N.Q8QI*!Q3P/98C!=+,5@<3QZ+J6(I@:;GN,#M-MV( ]K1_K'8 M.)9B'K*NBJ%(W=5L!B#2CN;HH 4%$[F;R\V=\L2C@K=TVW%E0:,G#%UBT(+( M!K4&&]:LR]:9,L)4/+FD4N7EH^7QO$R=77_'E>D"]5*EW1"*95O$EZLY,NDS M7'T]#7G*7+Y[:BY?RSF6B,E5W(N3:V>9T%_FL_TW$AWT9E6MO1X?Z[9RV<&( MKIP%VG9#46MZ2:))%]<\U-6^?85:'"\TG)S3B5RD[#J[+QU?SCVT-.)E!ANU3"29Y/P"I&+8< R&-5X*#!".XY+*)P M^69:Q4AIPZ'.UG=P)+V!/0$NC5_M93/C,(YCQJI/W]N]&-;(>P<')S!^DQ9A M67"P &,F35P4<-E^\U?8+%?@>,Y65B_I=HUVJXRP<$;OM]<91M;!*2#3=U9M M[H#3/!9LM7$3P:&+6O%MZE*! Q$UJ'K2>]82' 3(8FHT30 M=-F->]TU3.R8"F?<*ZE9FL0E/C9F*?7>OO7((0[B,2D)SS\6A1NXDGE-3!V#F4IMK9.Z:0 M::MAAN)UBKCP W6EMKTI:P:=QX7Y'"?5@R)5YWYX0A?"?;RF?D22)%R$?GX2 MI\J2T;#7;C 0N,5C&^Y*5O43:\-" -V,ZAB%^/A=R6/A,^:'>3 A?>SC6LBB MLW$1VXC81DC8QG%B;R9SK\5X4]QV?")8:MKX# 11M7C#QJX+N#!\$VX;.-IN MWS+>-81W#4T/,M41H@@:4*H++WVD8*J.?=*10JLZC5*X3T&]\1*Y,!4"2B5' M=A HC^^+T.1-/)9CQ)JFF]H_R6%JJ2MB,8V$::2JY,,WPH-;\<2*@%AI&\=! MS=V4KR^64MG6;7BI%,Y[="W4R?;0I*@EJ&2=6R<7L6 D4^!1I>)O5R0N4++G MC"^H+--T$>>;G"YNY9Z":4DX$\KV=QHN5X+3V3WE9$D_B<'3,Z&LSTG(*T\> M@B)N(N]%,9@,-NW+'S])V<*;]@WIF\C;^<)4I(@&7[**W<_Y\Z JRB/+)3>V%ZEWIGM"B,BJ@8.-1%KZ^16<7>0.5]!UT' M$/ 4 5[/I[G\YH_RHG'/E23,O-A1)1RQIC6LY!L"$J%+& &)P-X+ A+!17(0D(B0.83,(60.1G / M(7/3@7^AS,8&F2MEJ*A1FZ4KQF4-AJ]Q0/G1+022@?U-!%<\].FU%$">\YTO MBE]DNKQ8>E;B[.WI"$9$,.(^W8!@1 0COFPPHE'D#10X#>&("$=$..(+@2/V M; 8B&!'!B A&!"8L!",B&'$@84T;C#@L*F5D2$3@8!-#:7X (LW!H0VF5K%# M#Q^&P'H!PA;?R__)I2&^^?]02P,$% @ /&AD58,6?\S?6P L44% !4 M !P%#M MC;"G51*)_"&12"02B_??7F: M+YXN;V^_(VGFQ8$7L9C^^W-/WU9_'LAU]^^>5'\6OY:!HV/<@;_?#C__IT]^1O MZ-:;AS%PQ /S>&K^8>?YC]_^.$U#;[C M7"=$LBYA$7VD*P+_?GF\;:7YRX_PQ(\Q7<,PW7E+&G',HHE-0E?-[T5)Q9LC-S1K!_I1Y268" M_6G#FO$_L\R+]"(_;5(W9J["J&;,)TUJQOR9:I:/XP;UX44 S4Y!*J*+X*D[ M_BE_$!KL4*J"7J[":PW3UXSR]2C7FF7;S#_HQ"Z)EG-8FM[_\O-[ 1.^^?,5 M\_=;&F>+F"N++,S>;N,52[9"OQ=D!$S9@M+S$E8$JP1+\@X?='E@N_.HSDTE M)IVR/Z$IVR>^7%0Y:5CV:3S_\O3=?Q2T"2=.)'52(_]O/U9H3_NR2 H^>XG? M@RU_XD>?\15UEQWV:Y6P[1 FL\&O.^KS.7\5OH0!%_1'K@".)-,ZW8$2 M;@V?Z9E2T"1!3I2\A30*K,X0^X/-G(V@ZHQM4>Z?64:?V4T8B)C4_[$V,PE>C8%J@ 05Y9J3$04H@)$="8PYC_/P3X*^49[2^<[FLSYARU?EU*8)//,6T8T;9(_+0UB MQ'(482O2^C.9$V[_<@L%H!"^52*7 @H1FL>^F.H9*Z9_ $P)]6_FRWT:QC1- M <.23S2ASC'BK-:45D'N)FE%A'_#1?@B!P'"6X*8D/ JCDROV YAMRF!_>U\ MS5CP-8RBN1<']4F?*;G(M"M7.P3>U5^T?0VHPM+(>:X?!(?;:.P[_3 MX)9OI+-P%8)*D6IVX?]M'R8T6,3!'?\ZC,(LI*GH&N?,/DF@V^+)EIEJG!YR MAAK#97IF&N] ]QR?/#>SEO.8#I;F%(EGW[*P-TV8]=$R99#_RWS%=>S\!93L M?$N]=)^(7U$VN&IC6LWN/J)6+.U_X98V+%9$K%;D4PW&A(QKY?'IM:>',=V4 M\/[K?.LE?Z6"Y#RE_CX1LPDCNFI-:17<;I)6Q/9?N=A^*D&0IQ+$A(16<61Z M178(NTT)["]\S_G"_V+)&T9(VU_7*IBG9*P(XR]<&&\+PA,2P ZN]PI='RO/ MR#5&>,^_8;Z($P[@#*5T96$6<^76M*[MO52M+/4?WO.U M_@EPS 404O<+3FCI5Q^C7DM@(..-R?"'N>?[^^T^$D&M\B $T"1TPP'QR54< M;$VD1E'0*^L8)';D_P.7_T6%+3^8NZQC*\(JWMUQ<-]/:5*,&N#^B3)^ MU(Q-GI_YQG$M_D[HCB59&*]14Z2_';T3H9V>'7&'2*$GB8 \%@BF)-(* ](O MN*I<'BF>U]M=Q-XH%>OG ^?[AB\I#YSK]ZL533A1>6>E22('OHH10D42IN5N M")8A.Q:S?41L-0HLTIPB!1H"<&:D $0D(O+N$XNS3<]J8K/'07YGH.':1D>G MGS>4L*)K.]FU8"_^^KH)_0VA.=Z4;+TWLBN8(BPPDFT2ME]O^+^4=+'O!_L: M:N@$96/&QYKS25HRS][K59CZ?-7>)Q1B?R\XH;\>J:DAKR#=.UU-FU9+N4W' MB9.*.OD5Z!,!X/\X\10H<9MA6.@FG!O,Q;W4*7.V@CUFZ(O KR",]F!5'KTL MWPID6+K&*' M."P&CX_".X68<_[K9=4'OD:0"^B#"'Z\DGTX?EV^]RZ_DS"E MC98-V1H9[*Y18&S'R'M1E&B?]N':5@\E7B[ M,$#I">,HK$3FCT;K-J@?G"YE#T Y5.8>](#P'@BC<%'U )YZA!Y,4D.8ERKT MK0+-HF+-5A6>N -'G%PKOL0)]2(XNO@]BR!7RT0=. II^CWATQF.X]-, MA"KQSR1U$_%B;?29[2%U?'&(*YEX35/^B] OOI@!+.%E0U-PGVJ9H36LG^\E&3/_S95SV";SOW1-8*.5_73 M;^23&5='5A9T% 7:_D@H%-;QD^_D\\^<_#?Q J.$R-=B_<(V7 \__F.+=R* M:!!OO4[R?'S,E!-K]GPM(CB_)-EB?K<_B+263QNT%;-_2AD36J\#?]:2 M2K8K0@->(7Y^&3BJ0#BQTSND@JFSROX=W-KW?&^]*A*I%;,W?Y9/[WCNS1/P MUH%_3AS#I:BUT X42_=_=4!V?7OX\!>VJN4'S-?*_.D O-L>>2RZ(0Z^TTFN MCI:$;,0E9OV28_L*=+KA:WA&DZU8_B,6K^4?+QR:>!:.X%+O\"6,QC )P,IU MZS% W5[2AJ!J #\'P,*>OF,0<@Q_+0KXXE#[R3M\<8I:P:@@H6^'ZY..B6B M#8V"C'&;'YY[LSS[E8F[G/F](*<[ZW_/H<\S-O^4@__&YKRZ^.B>[P-EPNXY MU[+_)& YY"3@F??X0]?QEE&"8TZUC ;/MU?:+)D@R]R%&=:4;BBY-T6+FJD MWV-N;$R1)OI'+ MJB^DW&>M9TVT5Z!M9&WLWJ$\:(46K)6#;.$XKV$W,>?)[B MLJ\V0H,R=_:PW4&^.?']G(D=_IS;!.$+UBH?2\16=KI.,.Z3UA4_D7N!D"QR MA).<(J/'?$RVNP$#.44[MLTQCFG"O"5JW%.+P638ED3TV8:Q*"+B)MAU;&Q? MF53)KX.9NKG;Z&_'<]C!TN]5KOWY'G[-+^,M(\__:^IO&.2;R]4KW+:'P*0M M"RCN@HP-(+9,B-& )V%FU(YVR!?X/;_U>@&]F#_);A1FR(/L!OD$W3@W6T2? M@(VQ5S1+C0.- 3MO#@Q"^^O&%R[B1P,=6_.]#\\DIO-C"?)@ S'->!T=@S]F M+@X;46O;AQN1F3YJRDQ?G FV;1N&O(K<+JB0L+5-4,&"L9'-]!&Q+9! YJ)* M0VM>5(B2D5$UU?+^# [IOL2D M%BAB(^#,(3.M'@KH< 8MP,\%>I+#)P+_K#-9[XR4W3@PD7\5/2&N,ZS:$!OF M0!:LS?0O3T]@)J2+.'A@$%GC>]'3?AF$+V$*(#_1[9(F+9-VV,O(^:=&Q/14 M^O)$) QQ"ED"(74D)V$=OTIL;J;&P,%AXSCN8/^UH\F*)5L1Z2'-5LT;KUX" MMG9E"X/H900SN)E;3M#**:W)!< M^]R76TUB9>+P 2,K4U /&2M3#HE^'"9:@&]HNML9UP\X&,X4Q#"XT]00&2MS M>@E5<9C51)1B>GIX.'L5@90LK3IBC+A,I.YHT^_B!Y1F,$/;9:W2/HP3K6+* MGV]Z!GZ;YLPW)#FZBZ .$P>KY5$3^D)CKGF W7.VRR.JQ(4F^5!^)TJ^AYK> MVLF:+[Z*@N>P5JL(5!"0R0V'S+?S!62X$OA80B[?G.1LUB\HN**P&D;?ZAS. M5OH\>S[VSFF>(8XR;4D(%SZK^N[Y+JKK[BN@C: M9XUK6*.?>A@ X[[I)G]TE3]EEONC9]4]G0E[H)%CV^-U'C-@5E^,VXL<2*W\6 ML)[/TH63"-Q*-F*8K4[*($R+C/&Y%[HP:K5-1&42YB=?+Q2W$^[J )XH69IO MULYFCJD/-FY>#1S!Z14E*^ :*B$+=^*R3Y\EIW)V&R73X'VRT$+?ZU R^@1W^!QLMA,%G>X:'K&(@;C#YZ#(S,M,>=V90$+X!V_PS MBU_$AG=ZEOEP:).SR]6[F MI>''-K3;_R?FUI L(U'YXPJ:5686,"&@S MPL&1 AWYRN$1 "9<$N)##:+;))\:1I/I'R)KLT/,VH.D%_(^+V2^X#.8VTSQ MY3Y):.R_B6(SG@A9X)T0?T526P1_V:<9*('/-+M?/7NO+3/'+#'DK#(#RI;Y M8 8]QE*8"A]Q!R\ C_@Y/I)5D(A78G*BGPS/&69W +^!756YH?R\[S 2K-.? MW([J".?Y[Z>..C2MW=1H;FMS0ZKOJ,Z41Z,=A]_PGK--.=EU]36-K[65YR%A M/J5!"@EQ/GE97LG@(:$[V9=4[ "B*+U?_9Y&P3/+'WJKRAZTK"D:6T:N%AH0 MF%X'"H@$1)[X' Q):$"+E)^P =V6R.%&^M9+_DIECK"T1.ED6NH<7V9PT)Q, MI23.D&0V31(6M&4Y7[0^+0(^7"F MVW.W^.$%7?'-U"/U(R]-PU7HRYQ@Q7YID7%;8;D7 _/,'OA"&+?)];C&L.X2 M%%'3,BZ3MQ[D&25AGN U$@E>EP(T7PN.4+O9U(\;.:9W."R6ROK(7F@2"Y-N M36,_GXS5U.PIEC7L=72Y+#4R%@IF54!(@61J);(&#@D;RV=KPGH\H6!E63 _ ME#ZP3)YI(;2VMG:1XCV:OBU/SFB@&.^#3>XD8#:>#5 MTG,3UK LPG+H1%?H$WQF;+R^ ?_T86(2Z^[I9O*3\TX?PCQ_Y_1A?Z;E=QW+ M:WP^I6_8T]HRSQSD/G(6UY/L6,*7N0$["*5WT-$Y'6V;#\#)B4]K>Z#&;X9B MXC>P5!^FD;"^5#>3G]Q2?0CS_)?JP_Y,:ZE&\WIT1&Y#0IQO>/5NF7H.DM3RFT=%WBS'$;=9$+O'5*Z'F-XL%Q E?#QXUL(T7@,>/ MUO0MD7SF7[]";'(*73FZ#97_0A^X"M9^BQ='W;8=,@RE\0.M/%Z!5G :[AOF MOU*R TS?Q$5#I+#H6#G'2, YZ@ S :Q]=-S/:SL!J0TS^'P-VMY!-3/_G ;R MC>V'XSH7YU7-XANMI' &]1(F7!6AGO*HWJMZWB,HX=68&@GZ5I332V=$]H]P M!2Q[."-%'TG>2?D(@6[6B\!_0T:5RX(*-LLFC \\S2-CG]G"_]L^3"@N[A37 M"C;L=!@U6ZIS("R,ZC/7\S$1&@_\^PV?!5,+MD4*)=/$;VMS6-Q*7/%%9Q$' M3S1Y"?TP7M^ORJ3*-0_I,\>4-O]TQ;9>&+=,S';K?9VGFQ0'ON /GXT#JCK8_BBC/9=NCV!T7VQUCG$;? MHRW\1:Q"9L;C>Y8,'7SIUAH[)[K7&ZKP-.[Q4*(PLBK*Q3X-8YJF'/&2KYR MXY'Z;!V'?Z?!;< 1AJL03%19^#LW7 .^'-_QK\-(6*O\-[[0\E['4)J7OU/\ M]I:'$Q\M3@XH8ZJSV$%H>E&RV)4A^G/2'$;XW'):Q"]AP,2 M@*XX/X+OR==-Z&_(AG^UI#2&FQPY4X@G? 89D )NI*%P>D):V1FI7??@C_DJ M FNBJI%EK<<<"M-T=EAIS\);JT?1XF'5LM4R!,/4GDLS7./>D8XJ,&=LKIH2 MFB%VJU%).!\U@ K$3HU &CAMF: M#FCP#B]>P[;$43U/(V=42ZLN3@_(KT#9S=%!'W/90(Z-=(1F.I5[T,6'[ MW1_%%H1]C>$\X95+L+"*[W=B+Q>ON:SS&7*LX,(%OI M.\(34. B MB,"&ASP :[4X&.2'@09I,#))/F F[/ORCW^U\!%RE8L!(L\'(6 ML)(%5,*;$:^6;X!DC 0%1]?0R1_L[]K'S&JF:Z"L+9+=80E5*KQ';CYQL'^B M7O+\E3UO>,?6FYOPI3!K&$6+.+CE"C1>AZ67C6L$/V(IWS;W7=##-8*< M%,.(F1;\ HW(0%KAR5=04B$BO[J^;8<<)::']3KMWQO/%W[=A(I\2)=\X[>F MP^W?8:U]W(%GMRE]G:&-]Y8[^'B M^1Q$=%X&L7(&,1R!J^,'=:23B0[5UR4C 8TN.8Y/:?>/=2J,F)\Z#X.P(G ^ M*KCHA..38 0(=^? \":/P66Q/[!U ).8/0>$Z.E8-J1SI_Y\#D+=CXE/L%X MYPKDMQ#R7/5F:I&]8_B,L*_N6+R>\_>V9Q/Z/(9!WT3T\A3]DVO!PO?3_9B4E4VBQ,#3IW3 M#,T^G>= !>DG"M89[][@(R#E%D:?_O12LG_PTPMIW'F'@1YK..XI4)$2EO:# M'@,='WO&0XM>IU6OS^YT1WVR-A[L#!R6R<4S?::O61Y'\OR51B_T$U_D-ZFN M:";5Y@W',O7!L!')%,95&!-+2$0=E5;2/G2(R*5AXV%OTDB;Z584@WSV7ON, MR-[GL6+=UJYI.944208DRVS #Y8DC.VE2_HE#A@U0\O;JWXV&\XFUHU-8A>3-US'FVKGX@MD8% M:=?+1Y=PL&&?364=E5A)IFBTVHH#PGS*0U2 M*+ .;L#[%?\FV$-YM/RF2$#627S4IH ?WL;6G:&-/2]QB^(ME! MHFL0+Q5K$"^;:A 779$;-]D9(GHS(T5_ M2#^#I^:U&3(A=;AO!DN$736Z[._2\KA+18W8O"/\[2V+GS)N,CQ0+HZM;A_S M!,>H4"/ K"I0(SU J\^)\-.-\BPZ(A4F[.-E7XCHS(PH,=>DZC0[#8\5IP59 ML*8V;V,_$<"]*, #&$\>4]_Q #@C+ MPS.JXVG7ATD:QY"9&QA[[JSCFNN#3XH&-X!U>BD3LN8'4T:$ON.(_J8C)?=YXR M1Q!SE< H,)NG0QTFJ.Q#'H4/O9"V)\G[,2-E3TBM*X-/C*;/7632(&^YC[P$ M(N^+P/T\O\]+R3>OQC?^8UH;C%T^&)XSO9MNT6.<4S>"W(,V*K38SRWW/@X*MQ$ B?OH ",PR@^K7-&AP^C M>VBG?V F_O,'FL(QMNS!!]T'9!TD;!^(-4"9_ %8 V:K!UY:>.9&?XE_2(Y] M*BI,]Q32<835.\;6%!DD>03L&5VL$RI=6YW1(?TO()5,>\.F549%F52DW<:. M*'"9#6>=-:DZS>G8$W?7_P)2JMH;-BU5.;DR.ZZK<#4%UK+A_+(F2O*$G^O) M_#;[<1VY3F4U[&6DB*D1,9^L*4QI'RK0>$<1^N@$/V8)9F3*1&YFA(3#,2 MRLQW9;&+WSF1?\UCR2H%M)..)@@RPTL65D4(TXNLY3R31O[_L>PP2P-#1G>K!E($E!$Y].60OT MT?F394#&+H?A( RC2R"8*JNL%S=ZHLE+Z-/FHX3/+'ZA*6SM1%"'L OJOU^R M-./FXI]H5EW1;E&*QNF-+*:D'9:XO < -B M:GJT$>S9*]?&7DU*XVKBNULUG,> K%A":MUP&1/B:%+;T-4*$F--@5_NTXQM M:2*.["#.>!/NNL]J%=Y JL:.ELT' 4C2Y("VVX-8%48S!/%J0&JJ"]G M6L>3Z!N=)RV:+]Q5D"2_NDX[UL50-H!+(UU$566C3]XNH@^1%\:?PCCF3,R\ M=I?1@-SZKD+#^$J?@R %BME) );C97_0 M2+!1[+4FFE4LB\AG49K'1>D;;B6G)R'8:9_9H*E5I#B/I&XET*I]=^C>1M$U M>LS0D%B;'#67$9>FG:.H$,A*[^'-J5[VC=O1A< R $"4+N MP:6^56<^0W/4M00"JDYMJOR>7@FLVGP:5I&6"RX3LXS 33\Z.OO-V'*T?RHUJ JHC MS9^K0\N\9$UE ]]_V[K=I>IV=5.WW'.TNP\;G\'>VZVW97/KZQF]:'8K$E[;MJK=E/%57FD_ZVLA:.O>Q'!DF/EDM/]C2A_4 MJ!/U3MH_U.P32[5S325>3V$ZN2S-@E]/FM%_8?.$.W.9Y%"U-BF:SE0WBE;W\ M.I4S0Z8/[)2Q&7>:6[7I$LV323J5GS[FLH$.8]3>4OU MHQ?&'0ZPX0T@A5"=D"W7@#HBS+;%9'\1J0QR&,3/<9"L D*\X"][>4O5C;V) M$$(VGM/6)VE>D3&XVB=EN8N>:=GURLB)V-2T\2U-3IMX.7$2".KB9'&G4!_+ ML !VLKM!Y/IY:$W(+O9I&-,TO63;91@+L:\N:_7=\QOV,E+PU(B8%L$"!:G! M(!4.][?V!HX%&\=@>QNJMCJT[;Y0E5>P6ZN.IHWOKW+:HNQP681X!AGZ4>66 MM78%85KT1U+PY[B3=T/8ZVQQD:-6U^< M*@&RI*#KUOG3PUHVC%\V0YLNO73#U["7,*#!Q=N7%(Y=9+8IOA-9^%GX(FJ7 M]=15PC>$#Y(:2-!.5C'8A'HE;5:(^WT4# ML"NZS*J_6B1WZ.O8X$Y%,G:JV@$0DI9$4=5;C'4(XY6$*SSB%L?$NH*-$=D. M'R93(;I#YP<;RUAKF@-*1#VS3UX&,-YZ-47?XTC-T-:L\0AP&7PDBE.G/1X# M0[+5RU$VE$WVSF2]).:K(%Q6$*>3/?91W^/8$]F69NU%C;LN MG+6#:46\Y$ MJ,^YWON\)B&RYD(O"$-2BG?6\I_;^.%[R=[ ML-MAKCY[KS1]\-Y@16Z1,40+Z+S/RI3,[]R$)LN I*,DT,.YSC2P.=^PK3>[";7B\5FIM M$W,=>2QMTW*J!>3@J\CVN8+8 %8@X4:QA$DD3I(#A1\$5"*QBF.S'.V,"+SD M7#B$NX']O*$D$OV,@"R8;H ;&)-?9(XEQ_R*8TO!,5IQK'1R92+8@O*O^&,> M_R.A=/[&GSRX(2W]_22@.RI*9A/(IL'?@W+B7OSV3^G!TZ'\<17&? \LV@)L M,J;CN$D (RZ2BYNL<%E[%_+>\!9]D:"+ZS]"19@=<,K![6QMJHP9D3,GRO_+ M;J==^9^V:4_Y5[0GK/PKD)94VQBNN%#^ J]5Y3^&0WCEOQ?]_+_*?[+*OT&5 MC5/^;7)F9470/G%A ]GGUE$#^9 P[IFF]W0Z9>KM&S^4R,F1 MG:0W'7=,(Y?[G##MK+,F:O<[D9^8+PU2\-M.MUJ?0XK227NVKN.<$,9H6PWH MT6>_K*!=I 1PXY1L%PBFS"=[(:]Q V?1; -XQ .=K+PA>:P6F1>\2UL M@&QWZ\;C9B5Y82I[!P# M^$QH2MZ,>A>;[U^%AO&<_YRZD#P?/M *AYLT_X/8SD;QY8L5510PJ S/DV:YYR* -.D2WV$N^VX2^%O+=! MU7'84,H[,F13[[D#1\= L6,CN.P\,*R6%^Q+G)1EPG_/HD XVEMOQX]O4'-P M63]A6^8Z'B'&KK?"CS&)]H"Z%XFP/*#JR/;7(*\*H7M#F3[Q^?^QO5[.^ :M MSO^/%FK?U 0=R)V3G']L*6^CB]DC3YHV M'F.8D\\3F!4 H*:Y:KX@&YW"&8>WL3@7D^GN:9)Q21)),)@X&^OJN@-#457& M&(;']FX;14+\:=!Q-(R4BMLP[-32H6SN&^HDX'^O-3Z;435,7 M>(8)'1O'8=1$3*G_PYJ]_!C04,Y!_J&:>OR//R\X'P/@Y4WDK8]F5^OO R?0 M23OF;^#DQ A0LRH<[3QCO8RPYVGEPI;0#1>R\(7* ]S/-(/PA]>>ZS8#WL1Z M6?LI&/>QUB&0_(S^'6R;OB?O8IJ']KSV%!\RY7(=, )L!%NG((S#A="<\-D5 MNCRHY5T$0C\E"XZ-Q+:?$:M8O1GC @&5N( 8 6K6 M%[%&CK$^-KB_D747>LLPDNZ!.! EL,JS]-IO0^* $,WJOKNE2-[6YF,L3F2< MGF7>(#8L.202573%::VHHC>=F"N,1*ODOW<0V#9MT;!R7;6YYMBP6_E=9 M!>%^GZ69)ZYRM.]Y>E_!;WI:F[:PZ^&T98G865&PEE7TL;5^S?0-G1+RPHO$ M)9L)]F9PQLC!?3&W0>V?$0S#O)''A++04M10: D[%\[YPZ*,&R M?0X^$R=AP)VJ[Z4%&_"?R3O.^TA<+MUQT\[S-RXJJNO08DRWS%K,K4]7E ]9 M,,CF4WP+G6&_LW7SESAS\CJ,/V,IZ]4&@"&Y.M+0*(J;_!S\GNNQ]B"DKN

^;O+^;U:'Z^(D 5'V*D!SUN*7ND._XK7'6H"NSD'7*@DSOE@BFSR]2) MCESC;L02"OJ;[U2N^'K6=+K3\RCFI*>E2>,;XGQEEX0)4":<- ':]L^ ^OC* MAC#+X=D0U\H[+PRN%<-[0H7.7+KE0ULI[;#?_N>/8J/8M8%EK;-'XY M+R=<+ R2-!&TK:\+_9QE@]AE15CD%E!%5$Z>'"TH98NVQ438#U,0DE.>-HI( M"Z,,"\A#X0EOL2\[GQLA' ?M61.-7'4XLRJ[N;L*(RCQ@ M#?+0]@A"%(Z;,GYM1] C0##/Y&=]_%NYQU188G34K[ MJP!T/HV6A<96+8E%09M(XB2G[DA$NOG+!C+-\!KRS)OO6#KJ/X]8,: 9:PL% M$'.V.APPC/5QP:A6>-IZ4534[FW5!HU/H;7 06N69K^@20JBCB9],QN9(F_, MRL&&1E'?HM#T$%X*:HW9$@(@Z5CQ-_*0J3'&L)JOW0R^X_)WF]%MUX:RZ_$1 MRT!3L]:6A?KEZ%^!/!'T[9:5468R&\HY>P+TW)"05.51/8+S;"/M:+/0"-*3 MD)?GXZRCZLRR=S,^H=[]ZI%ZT;6(]RA"65L.+/H>Q]Y^;VG6VGWW%OJH&^[: M^H*Y(@)7NMB* 'DBZ5=AYN^>_K:'<)\;QC(W,0^]XL.&\M':1+G*@]CY)G"_ M^\PR2(56)*W/KZ$P$10.P>'W\1^3,*-7[&M;;J&QS2$G&I:LZ8EXRXVM,-F* MX(6$BJ0[$!M72QGXGQXWQ\C2Q?Y!VY@QW0-AW$N97/*A6+.D?4O2^-0H7V79 MFD5W)90BQ/V7CBM&SAC5$YR ,P'D60:!BOG[@V;CSH4GD<+1G-S5H2 MD2)PIJ1.)'E'PM+#8C:4;\Y3]/45455^3W/"/7OI<>DR(Q7=F4R-F[%Y@2G? MUQ#7E5;51T(AQ9[KC+'MU1\>J4_#%U1-C]-7==[7/R+A]$[^$19M]^[Q?1P3 M<546,4D4>V3S3GV;9"F5,FECI3TG0_"7?9H)Z_Z9+8) W!_QH@:O(0^E2?VC_*^##S0E;??%EFLT\,P/-.Z05Q" MF MPHC9<@:Z(673C8; UYLS50!JU]9^]U]L ,M>O0E\@[ E3Z7D>;>VWM&O) MW(>2:8?DW8:S]'&9#6:=V0TCIYYXT6TPV\1#]NSM3>45(D@ M2SA=5YO"%FXR9189%8I'NA:E@.+LL[=M.ICJ>@PM$H?-69*(BB@!JH[DH863 M3)4]1J7ABFU/\^ZW_8P>?=F,I5'_55*S?_+8R#+6QP=#PWO'MUZ1I+IX#9N\ MA"U/( ;YJ"73XRS(D6*T@:+]L6YC'E/@B-$)SSKHT_^T:6G>YR1GQ0<"Q,E][$KO=W&7#6*9/?] +:/"_>HH[4+;W4FUE[![\\[& MK84E=*) !2=H[A9X6M2 6"J/3+E-] 39H8CI4V5"_DS;U/GD]##A2> M'*MVJQ9M*UV1R)@E!&B[5;@-7&U2MVVLLB$B#RS-O.A_A[N61-;]#X\5E(-& M;$O82QWRLV+8^/%9RC9FV+CB / M>J8 X%9XVIC<)#Z=G!N9).B.Q6MN FQO><,Q%'F&#*@_O?_P4WN^(,57,*F# M>IHVOC_DY.?/G#XI Z],5"T376QC@(/L0ZI2QC!,-NL\5T_? M.^PEO%O=80K?PL/ M%$I7!U?[A,.29Y)=Y^R(%I#;\@&4;.W1!T#";-C-]'A,G$P%)H7MNU]+LNUD MYXZ1/J:!P1.;H%*=C)JAATT8G:*2U+3FJ,1D;I(.[K.A6>H\\RE*&@=/V29V M.XPLO8U?N&7)DB'EH1K>T19+6FO;71!I#82>Z%%1EC3B/?) MVHOSXY)+%JXOPHY:9(-?]4)*!/X7:'\]M4 M@!F#9*\;%K=G4&Q[!!-B=M24^3,$D7\7"+H*.6_E'E-AB6MM)1PU>&75^KI> M775"9C*J:DKJJ7TP^K53#X==BZE4GN+'^YW =_U*$S],:8!973L;,K',-A*T MZLX;A SMU#/5_S$>AY+>M,V*;IE4M2\4&&UM+HL;^'T;T.:'D'/PL#%;\^N0 M*F;NC,6-""O]S#*^L@G";AQQ+0//U+CB>D$2ZZ6&]:B_'0.6E)/5J-&D$K>? M)0!PCS")J2K>,B,Q%?44\]>@,N2&1M(6R[Q7PI91N!;> C=2C!]619M,HT)O M"4I[VE":?:*9%[5'H;4]@PD[.V[+^+U[H$<$07Q4V7C0HXO40=Q8V!I5EHI> M;@&A@_BQ5OE@2OQSKW&<OTB9OLW<.L;+,K MC)V]&=((9I$D?-R%!_[BK7KDP7N#KQ9?O23(UZB/<#LZO8UE!S\F["1+OP5* MV!FF'Y&U/;Y^Z"@GP!0XB-@-";I3\! 8G!/,XC"=C;JZ8CWC1'4/J MJH.2(W75@.AT?A^M6IRR;0_A7'*G+9F6@1:R [VS.A CK$8<[(SDA,FUL&/63\*PN1K MCIZM5B006U/A:-H-7E.U#0;.4;;80NY6<"M C^@<^L/_\&+B08()DA2.-.CA M:@\+ :%<0[!MZ),EC>DJS%+B)6$J'N!:0GHKY.OYF7_"UUN^W'IE706X*+ , M8^F0RS9>1J!@2,PR_E@0OH3!WHNB-Q+F"0;YZT+?T9V7\#'COR0R=^7?:># M:]>A0ICB@(Y4=0=E'?(Z#FW+H?H+& 78V;!Q/QJN;H?Y;B 48X& " @S4H(@ MURIY;LWW::Q^866'\L2]4EL$1;_7 -/!;%:;&FPX4YV7.[CQPJ3K0JWR>YK+ M'93MF]8/0(@HW(DU9"6K\U>AB$$+TZP)V5WH+<-(0.&&O'#,;U@4<$5WS5?X MUDINJJ\A1:RO>5N.F3X<&"^+_KYE+/.B86].3CQ2B"VAP[2408Y N?&XV[46IN2N^6?+#K$53 MJK^(U)7]!$P+2X& T!R"$YTQ@-$,SSV+ I=R=OH;KLNNZ N-V ZL]&[7J-([ M:#'K:-N\A$GB8I4**O*.!$V%RPS%.GM)O9>6P0.V0HVK>XP:J:%L@8G=X[Y=4 DZHT:,)6-%CDJ3!.KK0GQ M)Q;3-WGX<+./@[0Q8E/M8:1(-C=J_+P(J!))E@BZBJ&;T :285 T9]YUR2FZ%H8%IK)\3#G/KE.Z^O-C68@E%3?PV@WYX ]JR M[K01,BY4&P@K2.&PIW+W%B=!W"*K^1%^-Y$T-KUCTIG31HW1UF2V(X2^>Y:QQG0HKDK5]TH/0S#0HI*7.:G>U%/_J+R" M5N3M39N>,R7M2>7546(VPW#07D:J8HFX@R6C<#Z_?>:=ES736^1,^3ULSJB^ M]JTD,H=LV#5;(0(L=3/!338G9=8S-#_MQ4WZ&QKL(PK%8_+)<2D!*5TT'_HZ M-J92D8SQ6X\Y#EDR*$0$M75M"V5M9(8)J*PE)C-,!QT*V*]&PG% MMW0*FHM-Q!E(6_<&8A G'=ECC^%ZD]VOOJ12W2J98RWO:+'&CMHVOEX>&6&> MNTJB:CQN-;\Z&>=$H3TD8>R'.R_*;R&VY3]0>D>#,CMIVY;7NA,$QF^MJU=C M+DZ5=.%&44X:]MB'6MMU6BHUV6K1V3VLM7<(1%>4KQB!C+YX]E[S *(+>5NK M[2!([2WL85!WZZ:G5D$>\N0X,@A4^/T_%H'%56(L5.1:8I]#B+-221DL-1!@5XN) M-G%F!D? B;6GMI%0>$.#I6=Y$W%S8/(XW$*H<+?%UIG,]F' 5 #)?_[*M"P^ M1VU966YRFM-<8')PYI<4-!<0BP@7N-^S9QRVQ67D:W9 MF]% =<)S&N!9FM4X3N#F]6_/95X?".6XF7W*WPG/[1L^>-JF=KTQ:S,;B$YW M8@,Z._,:QP?BHW&950DJ%B]>&$$$T0U+GKR(*D67 M89I NR#529GW1RXS4H&9D1+.?,62.0":2J@9:H28#K9;CY!DJX[I=R-RGS5, MPD%1E#I)C(RTU '%9C2F1#L7<$F%ERSRD"4)F=0Q%ZFSIC*7C$A!0VBG_J&= MJ*'XF:-]_DJC%_J)Q=FFX\A80Z-6#,=CXM,T((]1FCX33LQN5$9U^8RQJB3I\>AN-V,4)&4(PCMP MU+@I,S%VN-1,"/4QF(#4?Q%C=,>':+"(G[ZJ79XK$L93-TI9!5+3E- &;BN) M8QL+[]);4Z1] MKA(:M A1[_/89'IM[=HR:%L!8&Q:C;U!F+4BF[*;5'^]TL$&,\EF#LJ$BKI5 M-?/B?@6X(-TOI'%^X-96N-^F<*<]S;KNCXQK#)^1$D'4V@Q#H4--/]-\&'-' M17@Q7"7B'".33"^#':0FZ=A;#,Q2,KBET0E+E"E.Y[1L:@=BF&%K3&F"' M[ MB6A%1E- 4IV)][JVU5[")J;M;-S>]>UMB8.D)1 W26K5V,UP/+08G;-+J!^* M!8!_CN2J$ ?UA:$U*D?]570T3C\)\U$X%0:1GM2K$7<4;#. \6P,-U7%L*4 MW6W\%^I#JY]8%/ ]\T/",K;EGQO3) ]Y9: \J31M/G5B3I[D],F[$L'WBCF6 M;?0*5\'ML:@ F8H*E]V=W24LV/N9@S)NJN+%,-RU[/3ISAK4^,PHYXZEO$"- M1/%.'#1J=!FL?$%W>23?//@GOANW>8H@=SM??> ?**GUXD6@/M1=F8/?'Y%M M7XF.C63\F(E@L ,([Z8H*0!VE \?: 7(67F!84+$1C-VI%4E;NA<01X1.(?@ M>UG*WZ'M)I7*\QA[JJM=TU/AYRM2$";O"M(CK"B]?=%B0K5TT9WMI"1';#!# M1\Z&R\^7GSQ_(^(*;L(DS?Q]UCX7^I_&S(3V5HTO"9\O24D:Q$02'S$3=/9% MRSQH[:*[F: @16P@.VT6K)%I@FCZ2'W*%ZUEU&9A=3Z++T-SVJ;YO3<0E7F= M2%*2=55V'##'@VMO*\ZV6Q:+<.J#DO/'&\F6Q[ ;ZZ/FC!M+@AY)@>",_/?W M/[Q__X'LO%S:9\3;9QN6A'^G ?GPV_>S]^_%_V49\_1_D#!-]Q#$R[>N;)^E M&?\@,H?]R^SGG_YY]B^_?2]^XG_^YI]_._OE-[_-7R2>2&'YQ&5;K/ODY_/N20MQ!&4FZ@*DN[[UW M!P";)(4]&3 R?2YRZ&3Y5J]76>)V4Z/2 MJ# PFR-L?ZUH4B%7#"ZG]*T5_6^.72O:*3A:*R1QQZN% M^;5@M59CH50=C= M[Y.$SY3.ZM%#7M4HA,RE?L0)B=71XSNDJDF[KF0IPM *-D'F@B _;+5]^9X.6NC M8%?F2M>6D+> 19&7I(2;Y5+VG(M>[S@TBZ$:<\>)9)ID-7'D?U6BR/_X\R.X M=1NMM99?!XK442O&KX3 "6V:A;X7D?HNP(GMW\9!UL,6HP/^R7L-M_MMZY W M_HX8](-VC&_X)#$WQG4[UU@O*\P.=1AW#W73[YBAKK=C?*@E,8=#W<@UULL* MHT/]("-(^&I"DY?0IPVG!7V/(0:^J3G3XY_3%"=..5D7IP"]W&2J++(A%W - M-@>0-KH'E9[%2\AIFT[$Q)41T,]9-HA=YBW"%OUQ\AO6&K2A*5IM03?:XI1W MK),AUG:B#TE>=Z\W:J+C2>1.LZ%%\YJA*(ZH%#ZA'#WQ_C!*@GK^9E"TA),] M;->(L@'#Y$A8%3QQ_2]H$5V;_K@3"9Z62TZ!XZVB-=XQUQ9SHN?Z!H6AHY8^Z$OHT+O58F8=[WE0$@-B=!9 @O)P>#C\LUU M%!>FGQ,E*Y80O^S\OM;Y(JM;Q047L?J#I9"-X[A1,U.X/8'R1\K6B;?;@)W6 M8G;V/HLP0UO;-#V]ZO1F!ZG\7HN;8V[>HY M5ZZ7?I:R07QRNM'I#6U1>TGCAL=>@$O;IF=",2Z*W._9_(R-=&E98[] HKA MK.=I[TK;^S!FO6UMU'CB;T&82,KC%U^-_="Y!!_TTL'VI%]FV# &6KQ(_,(A ML.3M,VV[L-#T"/K:<-64^=O".2U,LI5Q0!%)ATJ",W%E@:T([%:_>ESN'-UO M;AATIL*@D;I:S2NEU_UDW\]TX$W"JV-W?J-F/>S*/:3@!S+K\$$;MP/C'X>] MK,78=14%>6+T3C(0%_AMCM<]_ICF&TN]WPL MMC2YC?UH#R=_D(&._R]X]EY;)'9$2TCQ15 T+V1IC1YH6UWR/M?&&ONGC1L*_UF.X)15O&8_HRIVK H;&)A;;!EREM*?>K< M2&X7G":3N8=[]J\QWL:[?9;>\1D>_:QV>[']C;&7%D];MGE745*?$4&?_#R1 M&XL=W&ZZJ-C'0K?W9,LO?Q_R+43B;X9?VNYM0^?-V39:]L22E)3%&?SGQ1^F M=Y^[?TCZKM2J\=F^%?$Q86FOY7#PT%AK031F6KQDENM0S4EF>OT\9%_3FMG M$Z?KY(?!Z^0'8^OD!]?KY(?IK9/'W.Y9)QM9Z%3 ?AHL8#\9$["?7 O83],3 ML&-N]PA8(PM=Y%<[768%/K44:PHOC\^RUD'$K1O?R2A>/RAB57;+_,5OMHXU)[@@?40*KR"E=YO M]Q&<.W$L7^*$>A$$FU;5L3]Z80S)4#LWW]AF\'(_B)SQN7!_>3LC-50$Z)-W M@.#[&9?=94:JVKC\R13)T'+U$/?#(GT+AA9+K&QH7@/R=> MG$:RQD&9%%A5W!5>'B_D'40LJ/E2J/FZ3,-U3*3*\M](!88LLBP)EWM9PCIC M4Q-GE6%J%F)EWMN.1.KS +0]-BZ&R-KNO=RH"+,@W^6RV%%6\E9FGL8#N=Y^ M-Y5C[[90%=Y "DU'R\;E9\.2;)[19$NV)0J2EC"O!"OJ9?>KLP\Z):%LNV)5/Y173%ACX"YNLO% C(CD.8T2NJ%QRC> LF:#JLVF]OYXLZV;CHU-R=3-,L61:+;,AK#7 MHO.;3Y$-BP*:I% [.7OK,=/Z7T [P]L:-K_T8 M-5D2 OZ9Q65Q'BG?US+]3(L\J;V$E*GNQHT?Z 'UHI+1NT@Z5V*:.9$M13XS M'//LZ2MY_^N1[KBYS#%5M=V?Z6MV$;5;= />Q&JP?@K&55E^E:_$0"H0Y%> M000.1T=^ X: C>"K/2,O36E6;''ZJL9U/8LUWIK:-)YA39(CGB#NQB3KY"4; MQ"#[(5R5_*9]2DOIG;$!6TUM6XS3JI%WKZ+4&-X4GM7/16N2!G$W\'^P"E^\ M2):[XK(?^GP; C\LXN#PB]J3Y3U WJ$=2[WH8\+V._X&=%#43=[SO4SIWVP1 M7!<0D// )E1;MP9M]@ES#W':/.>OA@Q2O"39W;"E$>J4PO&_*%A**\@SLJ3K M,([!(F,K(@E\JXR[C@=>"NU@&X4\U6H,,[0B.-%D; HC;FV]NEZMJ)_=KZY? M_0VDDW_T,GH?3V 5FPXPY-KFO@/&DY**'HJ<]7D?B4B +#^GA,52JS2I%R?Z MQ/V0-&D9]ZC.T59^$,L2[VA"O91>4?EOV?$Z,R6#35C+:! N[.7!8,_"8A[< M*^NFGP6^(W+F?:89"7(L))R:IG8T*W79?B.'W)H&O@N]91B)8)$6]=CP!%)W MU5JRI5AJ)#&S?A1BQ)24604B5="&IE[3B#,%IKB^^'@3QE[L']QN:Y'IX0WH MO>C80,C6C%!'A)DP)ON+7.+$:K;G,&"-6Q5 )GK-LTL"^Z]W]K+97C3"X;'U M77L.F(XGL7$'IRW:FEP-I#&S2$L/,IJD=-ATD>0(2"IAHUS,>GJ R0,]O >F M8CXZ!)L-X)3K5;7ASOBP5;6C >/I QROJ@V(-*ZJ6OH[9E7=Y8#(\HV4@4H3 M75F[I!"5.,%=_FL(&,\#P?@65$2*'81:M$S/ 6_B,U_W4;"0]AH@');=8R(6 MT',^3]S1%K1D<#>M>,!D*.UXP&1!K7#"W]U;$3"PL@$UTO MNB2P?[WH9;.U&2HR/W)XJ[!M76AX CG':BW9FD0UDIA9,@HQ8AH(>F W]>(U M).U-@\T4^#&R+(W*MJIBW2*CW#/>.VF(R1[:"*6LSG)IIH:_O M;BM,8'U7J C (K\*8$0YH--1]W'%0E)*BBZ]FJN.IQM/4'YJPKYG@< MM(,".R,$EVD:#GMG^BS-[E0E]&GZQ**VRI/]+V#/REL;-AZE MSRF#3"8."YHI>'O)99I%82"D6^2;:ZUWV_?H0)'I:M*\L-3H MRJ2 [HK>]O*5#6&6-:5SE1>#DEKRV7NM'5*VEV94? NI?GI:-RU6=RQ>RY06 M05$)+/->G1\NJ_*<(1EI64$U)'[N?U"+ M "P^C+O B_&U/=ZX-]O//!Z<]LS+W+^%>#1*!#9-6$!8,LH7#L\%QTMQDSW M>-BS4NJQV/(/&MRO+MX^42].A5/_>>/%D./Q,\N:([4[\];H)X"U?;0!,:U& M"J1$0)V1 BQ,H>4;$7B)3":1;:#HL$C R4&3.NJZ.\9IOAP#$L#,#ZN;&7@9 M>6D:KD)?)FQL+^&A^):.N7+:NMT)0 X!N*S:H_H% MSX[GHT?T7!;I4^>]FO@Y]8X49A*WAQ[I+C<2[U?]B1C57QRYN6@G8'L;T8YD MS(9!2__&; TJZF)SX L LC2\TUV @F0UV/NJ[!QY:BEOYI2Y OGF N[K7$J; MAN\O*J/F^*+/U3[AOS]OJ+P'U'28J;UQS!FG-A"FIZE>M(,/0QWR"1''7:(E M^8DQQTL ,*D0UW0/W( M6!"4K@HH5,A4& MQ"_Q3SY06(O#YR*V,#^$!C]+'H%(WBUI3%=A]KT(12Q]\9U/\L8S;BX(JHSX MU:!5!]L.3K'U:RQF5E0L9MF'X:+!M9? H'4[:;H?1F?<;VK4M%8NJ)*"K%OG M1P]GV3!V60SI9CZE00K!';=INH=B2/0W2SE0WB ME36YJ6ZR@]G7M(N_H"N65)M]FEZ_9HG'$F[A>C9/]_-; M2/>K1^H?!AULH89S7YT!1 OX$W]52A;._FN7MX[!$(G&?4D"S-@P#0RW*;[> M>IU0&1(**,65I<[+F*AW\2+;3\."L-9 2($5, 9?M#0GI@-&@HUB+THT4^K_ ML&8O/P8TE%+)/U3"R/_X\U5^9O?_[;V$*_3H398<.A(]A2<'"EI'B\;%*B=+ M2KIY[2BK,J3"4C: 3X;DXYJ;"MD;V 4)IRG$56R:+T&+)GSK$QQ7N1OX%D)N M%%HWOE\5$,@!AAD1* A+2(Z$ !3K4C6$^0S)47N)-&C,3=1H$0>+8!O&(92S M@H.+/"M/IX-VT+O8Y!LJ-$Q+8PY"A#H( *WZK1%T%9!?4:N8SC^ M)!=>!&>H3B9/G^2P@4RT=V+K^[!\=O=.WD,LW;.;C[!1;;T'<02]CS^.4B)B6O!H*TBB% MKC?/ \>"C6.PX>WS<^+%J8ADZ-T_MSTZ8@-]W*2U'71%V/46NI6K; BK#&^B MN6TBTB[2*R_SFM/&JCX^8MOPQ+PX>?EL]A%G5) MPO$C(Z2@:,JT! @BX.K_\-.[Y?>D(.],!$Y8R%3X8CGHHPQCNF.]M^H5WA@5 M=-'8LJ44G25M4A!W&8VFPNF3,WH%]KD6KLZ(-*5W] J8G0BU#A%S&:JFQN]^ M,=,?NM:3U.T3-[[7WIK>,6 MI&_C&D(DA<,1-'\IS(N(Q#$C0!X6T0* J_1Q(\>&Z6.X&UD&H[# ! A;$ZLB M6] IO]BW?2]].PX*\' M$/5\K54M&U?N^@&L9Z/X:?\*S<4^#6.:ID]TO56]0M/USM@K-$UMFW=Z2%J3 MN#G3R=RFFS/]'+,G51)"Y_ZD\1FLU-3;LBQC2CRQM]+%61B$T1Y\ MM;F?)H2 =KC,3 ,9 ;_=[;,\^++(1O! 9=Y2&2'X?,>0M?N5U?0'2J3,*3W^XSO&T3(48OZ0;:" M5#0#J9F_#R#HJLNWHUXAKJ<579N3KSFZN2?A%1G%687H=\YG.%8,F:91L#9K M;[PP^8,7[>G%FRC\*=*+=FQ2>I]'SL36=HUOB(&:S!'KF^\-(P_1*S94J3%[@$=!OS98S_S#G#=^IB/:MWIG.+ M8YK<6!'6#,OJ#'"Y]S(^KDU3R.A@V?I1$8\:= ^6II+P9 MZ=B)=,C )J]1 U?L"\/]ZB:,/2ZN7O3 9%!@3X3ZD%?'"DX'"7OBQ#>:)0I2 MP' =P3YH%)JD3YFU]I+^'&U5:N+F!1Y"4I9.*5^QO4 M!D];1Q"^G#&],97-J$=:V$#.N7:9G.P-P13QASE,NMO0ZRYIIF5Z6@DBAEPE MNGJ$F%^R6^?M)ND1OGXGB0K_[2U=REG$VU:SP0U@%SAE0K8.1]01H=9!@_W5 M6A_A<-\]8F;7%JO_#_M@]S"[C=J]GS-'(Z MMK1J?&',R9(:79>NS3[FLH$<<[9GZ3+#.I_5M%^Q;%:9V:O8MJ0FO$]IM8H4 M>.94D<+'A#8'^PY^3Z-R/6C?A9J=D0*#6T^Z.O-[E&\'1UVX,R^]=',3L:]] MB3947AGOOCQIVJK;$J@307Y"[LIV;C>[*7M8:%W+7;+M,HR%Y2J-V36'R3^E M89 ;M(LD@=NPLCXX?+I?\7TJ&,&I.$_Z/=_0]JA$O41&ZD\]8&SM)_6BQM@S MKOF&,82*E:J&>48JU.0 -JGCGA&!'/1-@7U&!/H9Z>>@X=5-\SQJ6 I-#+*J M3FLK'OKT\-"8%+#EUX'JX:@5XVDS."7%U'V:<>)J.4J\6T'30:7$T]%E/:QP M8:6)"C8;%O$YDLH"$NKF6O^[X^VV=AI6#;@ZC'\B>8&0Z9AR"B/1;-.ILM?5 M-?\>8>QY6L_5?EL"=W*IW[%\]3&W_1Z_8QD2]PHA^#ZA&\K7_\+S#24G/E,N M]<_>ZP-+A$F094FXW&^!\[EGK1QX3M=U7!4GA&GK;1H#IL4T^+9)BXGE72$$@+93T$("(0B0QO M$TK39'KDVY=P*\-I;3;G)4W@4M[U:T83WH_+?9KQ#B>\%Q\I6R?>;A/Z"R@H MKU3W1D.+R'DW@K+Y_"FR(HZX(EJ (R4ZLGPC%3XB $ZE>HZ.\60&!LG:%!DT ME4%-=IXHCFP-.3605)VL,2Z/',>.#M/,+)'8.70_V&6(*S$_,$:5S-'W$&SH$D M9++.,1,O(]F&RD?R:R*!E]FM1N)&13&GPV_QP.F%+W3Z,,A/&GS<18E-E*! T]XI\$%IJ,G4>-('+XAI*@/)VARYH;P+(=+2KS'+Y7Y(B:4* (W+WHS2(P82KNAP+7MWF>.N+'4 MK?H+8P)X&QLVK0<$91+!T2V?'MMZ.1EW,:;=+#X.'U7@VR2BRV]80L-U+.OQ M^F^BOC/8''QZQ('X*Y*3)?C+7NZ[+NB*O\,G"2+J7 ,U ]'H(U!-(4I]!'S= MT>M6.8E8.:5B.0!?+(?O /_W,Y)W@11](+5.B%I6M6Z0JA\SLA0]@6759>(E MT[-/,4Q>FR"XO*.OXJSM]-'R?4_/$;XA:OIN[>M Y?#ZO@[XFN[QN^$D\NK/ MH),O>Q?QMCC!FW-_5/*F&FK S_ZM%G$ MRY0WMJG33L@K?WQCG&0#8XCD+1RWN*_Y?-2/VMBE^-9)R-29,W4[J5%%]E?. M-4S-KIW4AVKB=E(??(MVDGY.HK7V0:EC">26AHV:)/PCA6WO9NN M>?><8NIJUF#VA2[R=ER\A\D$((G Y)PF@\9J8!(!]0&P-AL>O#<17//,\FE; M3'8J4<,Y;C&A6R0?TP12RH>0LK6Z#L&$63+-]AGA5"T P7VAG#"I,,T(^!.* MC*(%,"47J9/^(U.E0.?\>NJ^"77M%]FUF*Z]C [<&8E1VZ=019DE]6!>/K"Q M'%C1=Z>>(I3&83KX?I;;KNI TNX&K)/N!+9BC?C.<5/6V!'7VS--W$6?^DTG MG,#>G#*T:5,8RK-4C)XGC;WQ/6:JHN_B'7UKMQ;!#D(DGFO MW]0RVS.]#"VU*F-J34W6W4"0)[&6 J1%ORF\@51,'2W;TB@=$#"J0$^/#GV= MSP@3V;DW4T5H&()O]LQ2?T.#?43O5XVE!OE$SPNC*^4$&-D:UJ3%436>.(M,\-%,X4/V8L+3-,E9]3?_!J6A^ M H>E H?F4S1DWPP^=BURB;#SQW''*+53 ?O3 V MM>PWMFUYV3_ ,/5E_P"LS65_))<06]O:>@_$SVNY;Q9L#8'FHA"*5P[D51$G"C7 M.3A+%@V^1SV"0::<1Y:5$G,\N/:N3!78J&OB,V)"59 G2GN!UI%T'UG40;%KR*G70GX%=L MQ'>.D:*-'7$=**J)NQINHGD*_#@#]VWW=#+DP%48Q6.=6&?T'?_$ORR^XO]9 MV=E,IK:2L MFMF7,HA$1*"+042#I%*J7[\ &9I7P=MWP?NW?WM(H^^DU%^]*D4G>$ROZ>R5^N_7Z_,G MWUP)GO&8W*5_"_GRM9+[FP_OW[Q635]+LC.ZI$D6)#RC:CY(&.;+/%:S&/!L M044@>ZT$7= D9?=4LBI_ID',TU1R6WQ\(>CLE^]6(KX+-J,K^O[W((-GCRNI M9"E;KF+ZW>L]EF6W5(Y=R/BS_,6ZO6+++OLEA?0AHU+?U[.R(3+FX1,A*;K2 MC7:F-/S;G-^_CB@KZ%+_*"182$_^\,?')&/9HUQ"A"6;STE6:/S+=W5_+JF) ME?)QL1;80-1\IG,2E]\\>F!I!4$U+71H>JE&ZC=_?)'SD][R,Y;(=<9(?+.9 MN?3H+LT$";-GY&CVZBRV&4GOBO6:I\&8W.R&N?_''*4M#J4&Y MH)>S:QK&)$W9C)7;Q=&2YTEV*]7I6'[WSV=<]1C!$8=;.FKF2:/'=#D(WCGA M8:ONT,W]-Z2NYBVT?JD41.=^R?%D0A?<2'MDE^^D[:-_,N, M"D&CS^4W:L_AXK0H")$?+&R)OZNYIM$OWV4BWU)!1/CB_'DZT+K%ZQ41ZM@) M%RR.-KUG@B_U-RX.$XW\L"&Q9-)K, MMZ@_!]@F8!&\G:H(H%N]+\H L272>T'E"UV)*KL7Y9B%7D%;#!*0+ND?H'J%[A.X1ND?H'J%[ M-![W"'YV._"'?@Z61/Q),S6G@;3$<\$R1G734RVCV/230*2@SX0^$_I,4_.9 MTJPX?@"N4DU+])#00T(/"3TD])#00T(/:5P>4N.1[< Q^BF8$2:">Q+G-%A2 MHI@IS@!-UZAU')O.$9 8=(_0/4+W:$KNT9ER>R+_'7;RHN #VG2G M=*E"OPK]*O2KIN17W;!Y4F"9D^QHN\:O>,Q"UNY@Z75&3PL]+?2TT--"3PL] M+?2TQN-I=3G%[;I<$0_SXA\DB0):Z'' DAD7R^)[<%<+.) E%TN+&B.NU9'\ M?*1(.(O)O,*5J?R[0>?J1.U0@I(3'CVW@>K^;)*:7*BE=B:7$XG_FQ+Q,8E. MY>154=;2U""5IVLM*K]]107CT9G\795KVMK6&IU*1C J7[2T0./Y;A76^0_0 MYG:IK?(>($TM4%EJ6_T2:FQG@;[_FQ,A[?GX\9JNN'CNP0-:6J#Q5I D96KV M6HFL:VJ#2OF))LKV_FR0FK6]&T7RS$[7_U&K\VUM#+&AK2TZU0EW*6[YM_I( M9VU+6S1><6G"Q/^/K6I.Z?;&MB@M#/Y+<27X/2L+L#726M/<.+4G1WJ99T61/^DGU!,+Z&2>\M(L*W= M^6$UPY4F!Z2Y<6K'DN(H/_=Q2<5<"N&3X-^RA9S.%4GJ=;.QM7%:SUA,O^3+ M.RIJ"7S9Q I5XD3N*?.]FA:5A+UH99RV\R3D0JIY80H6&]^)\OS%8^.F#NIE M@79I?9$P8_=4VHADO6H;B&YJ;IS::SIG*OB29%_(LEZTUSH''^R$*6,8)+)7O_9 *,,$%%LL//HJE)J,&%LJ/?@GE93X" M+(F?_))$8V(++)2?_1)*0SX2+)(/?HFD.;<(-].\,EWK LQP<7AEMFJ$BN$2 M\L2,U0@*PF7CB5T+3,7#Y>*)90M*_L.EXHEA"\_?PT7CB7D+A6' !>.)M5N/ M(H6+PA,;MSG- A>')_9M&)4=N>8(.+Q"LK%H*9@HO& M*R,6 CR!B\8K.[8!] 27B%/+7@LN$ \L6 _ M:H*-[5Y<#'F2\IA%Q8O1=R16SX 'Z8+2+ W"\C@(5D5\.<@3DD=,M2N%LZ 9 MD\:Y1AV9 3]FZ0+DX!1C_1D#@+XNY2R.XIA_4]-YQL4IS^^R61ZO+Q>GUS2D M[%ZA8ZJ1N[W&L,KEWK9S1<2E* )045&UZHJ*8B>JX4VCIRN.RHWT*,\67+"_ M:-3.25T/MQR4UU^ST>EBE8>KC4G195'H=7;(%W!IP#HYYZ-Q M@;1W<$Y_^S(!]L("51!Z+V?;TDQ7O$0!M%0]T^F*1;>O M&(<'[^'C"/@XPO@>1Y 4K7A*XD^"YZN3F*3I]JY&Q0K4[#46 M3BJW-^U^[K@I?Z#1Y>SX\8*2)+W,%E3<+DAR0V(JU[?2*ZZ*6DNKY7)%RQM) M:>6N9>X#[N23GB=AG"O3I)I.A62%ZX#^:%8Y5[?.EG2[B1^7F)(;!2DY2J*C M*"K"V23>>U3J^%&+P8:%;_?C5N5Z*>8D87\55)QL43MJ1TNBJSVC;"]WL#M) M*S;V&@F:^@QF]C +UNP XM,S^/0,I@<[OC8",G=Y9ZO2%TE9M@_J!-[5A/-E M&MJ3N5H>G"\)R[[K>$ WR1>1MFN:"Y?!%^G:WTX[!36]2]<;A %-)2]_\# @ MS2?FS/KU#I)L[X.$9@$K=B!U12D(BY1@D.XGT8&I-M!8-A-N&@1AVLUHV@US M6IC3&IB'CT0DTG!)-XB?MI!L:WN,K6)L%6.K&%O%V.HT?:Z1>_GH@J&765CL)_YTPNW/?1K_E= M-;JGM=U!>&RIR/8L5_G3;@[E#W]VS)>5 JS]NW&JKE7-O0J=JOR;'6IJ M)53Q5ZL^QZ:(6*'IZ_N[I=(WX[S _9QS4P_!:FGMA/*3W9$ 1T+I=;9;IX2D MBT;TY,L&KNJH-)-9U\XRM2KM-)=[O0J,LVB=>SI^5,^2-&@ZN-\8N%$T->X] MX'[3C?=-GP-'$4N,^4W0:<68'\;\,.:GPWRU*\-;?(JI:E]?+272+;#I+4/P1SSJ-O+(X# MDD0!5Y=9 B8_F% MDP '.74;! N*>5!0#$$=$XSX(*@#01T(ZM!-HK0[GES+GYZZ3!#R@:75AI84 MEE8;Q31@:34CZQA+JW70-"RM-J7M%$NK(5S1(5QQLG@;C!0L:1\&,BT :&+H%%IL'L8FR@E"" M=4*,8IEV6GXY*_7^5SD79UPH5ZHN8=6AYP"D[BS@"R*5\RJ6LW/!$FD:\8S4 M YXTNB'B*?OC@HML3N;T,U>.=7)-I>(5R_:4IJ%@J\U]J#2?ZG4V?X# MN>-3!:4V%-5>U.\QPG31,-/GP!&>YQ--I*,?%[&")4N8(B9C]_3CPXHF:77I MG$Y]76(!/O-6A!*@QQ@X:$2E@/H@=@"Q X@=0.P 8@>&C7?UM"GY (;;U,6H M1:&Y-'3PD_S.E M^ @5ICZJ4Q^=@[<.\AUOWP2I*AYQ1Z3D5#%QM:*+[VGF/-H'LIGW@%*#N0^C MN8^/-U=7]7F#EW\=X).?>3*7GO12'G%2&^0A)0V=Y-V;M^_JZ0!VP=S%6(NU M2S.VF:JJOV,)^>?T.(QT'WTC(FHI0%W9QE&FY')VLG>F7--8KLCHA*=96CQ] M-*7X(Z5%^:_+(A#0F.EJ;6^5^BLJ M9EPL2Z"O5._FB]LMK>U2+NT#%9+Z*L-"$YS'CS10;MN8=Z0]N79%V='NC'+GV12+M6 M-,2*?!%"[4[;&%OW)2_;>LX 8QV^)&E;Y0'PG7W1#7P]X3G/#0F0J4^Z\5- _G LKS+F %KB_(R /5?2FBIK=5T$X3 M"8C4,8K4&3\R!;/3$\M.ER#C6_( K\\,Z8(Y*\Q98A^D9;'K0- 5%^JA35T'J6$(JUY2*QWH*AEUE?!5N G[0M/G M %_,PA>S\,6L;O(YJ!>S\"4I0S&6TOJZWAA?\/"61D^,1 MP :^!PG--I YN06H.E=+G@2I BD&F9IQ712@SI VDU[Z=&$2S&@2;#<_/69J M/_DTR(!VHU#A@D9Y3"]G'XE(Y!Z17E&Q 0BS4)[HIRS.,QH5>V]K;+#?:!@O MM!\O')Q.D**,8/X[T G+6D[+M!APW\+@;%UPMEF-IFZ=8CP648?HI^U+HN9X MXP-;2@[^#N_4[P^HHN&-)&;+IYJC!!K/IHNE0A,Z94>>LZ9WJ?9^K_3UK M,SXB3%5 WJ&.UEFRCJM>$R\%W8PM O=SSDT][*>EM2/__)J&?)ZPOVAT'DG- M83-&H[(F_V8%R$/C,R-W*C+.:"K_EB^U_?9!OX+^//KS8Z;S\/QYX$F#GCQZ M\@?KR;<=_[RSM>.+A-H=?9 )Y4O< Z P0$_%%XG8"(9-%K>!P;#Z8)@!]\-! MD.R'8,YY](W%<4"2*. *D17CAL&['$T;',#IVL-$QQ+F@ M:]_)M6\Q'7U1#AV1=/03? F1P44UO!7N("KT4S C3 3W),YIL*1$W<,IJAQT M"P1!A[,9^]&C"<,];L(]T%D"17CTIMR2\W,F2?I-453N$!HP_>I="W1]\>?7OT[=&W;_?.^IE'#CRPGX,E M$7_28LL/4D5D 2+HYG_!!K/I?>E0A+Z7&]\+-D<@STMGNBW9HJ?T+KO94G)T M3UBLB#GC0A6C EFJ78:PRN.O-(YN^051E8BRQQVI;8R!^UFNKWM/TZPPA3?% MQVAT_'C"DZ*J3$[B#<6G4OE ,SC$D.A!HP<]9CH/SX,&GC;H/Z/_C/XS^L_H M/[?[S]U-75^TI5U&FE;SX:3&A[.R'01B/@1,DI](B^FQ6_"E?@"; 90)(0NZ(E)BJSZ-0S,7WNCE)X/%L^DR:1*$+ M9=2%VJV-HO9H,2E7Y%%-U]$W(J+B__:>%%(S=[DJ:D8IY$>Y5Z@:#.7O<Z M>Q\TZ5N"]1?D:FJN!NN>YQ=>A)GD'%$QXV*IGOHY5K1^39BJR9&Q>ZF4FOYH MGT$=R6%3F9=&)WMSM*^='671=V#G\MA?O!_E <(?*2W(O\I%N) MKF*2:.\5 M%K\X*@GVVF#-?L2EG.Z>+Y!KN7\(%LH]I&#F*(F>_:;/_F3NDQACPQC;F.D\ MO!@;W ##D!N&W##DAB$W#+GIA-R&\6]\T:%NDAO*=C\<<(P]6QXLTY&_L:LC MT_[Q&[#4OI^JU&P'.\$2_6&J$K4>$G*1 7H;D##,EWDL?[VI1Z><$D$7RCS9)^^\H.ZS)$XS M.JDU"@8<,> X9CH/,.#8:^/"("0&(3$(B4%(#$+J.(H=3"87SM_[(*7SXF=! M5ZJ::3+OZ.*UCV35D8.2@^Z:47>MU/PSN8PN5U24+S\>/WZB?"[(:L'"(T%) M.X*O^RA&/[3C*_*==I]=/PP-96*5_KBMHZ/\J33B0D/LG33.ZFHN-T#3 B M1H@P0C1F.@\P0@0P03 .A'&@@XL# 4Q>KF-N3ET>[4$AJ),P]? 83#.T;,*I MB\1FT'3D>#$,FL*#IH-Y%+ZLGQ:(5]]HF"]KK%VS^H06#@=EV2&^Y")5$=RI MROX!GP7['PLBFA$6IT$F*>O' *NR 'HCP"(178@_(R&+I8 $+4 A)PLBYC35Y@ VC#DV MM FV2)J"V9S(W3T7J-FLVK.DW^2%4DJLPF:O08@\8L\=6[Y M&4OD3L1(O'503LL#Y_;I>;-/IEY/VXFWG?)MJM:&I0WW\O30[#463BJ/9NU^ M[K@I?Z#1Y>SX\8*29.]^"HFIU"[9(.3R0)=F:;1S>AJS<,-_P)U\4NGRQ7DD M]X!J.K^0)87K@/YHEI^'4>[M=@\Y)K&RC&X6E&9'270414Q126)%?'DD2L=. MB\&&A6_WXY@(M9\(G584K)_"NAZ\O MT]">&-&RO7T)^?==QP,:N+Z(M%W37!A[ODC7_G;:*2#B2Z[+1DI]Y(FL,:?4 M1P=-TP]\F]N8)B <[42,N7UE M+J%L,WMP]-0&3=\F1@D6G7+!JGR-IS,&") M:-<<&J=$!DH#.L!KO \2FFWJ"JS*@@-+G@2IJJ#4$[71:6R;V(T>!"*"PRB" MP\LDYY&45,3B/&/W=/=>Z<<'Y5_12"$%U77T/%L#O#X2D9+51-@'&;M;*AU3'ICRP)0'ICRP) N&0OK?TC-RD#DPK+\/[O)4,IJFRJJ\ MDUMD$2[M:5)KCFK3F.Y$&IK11LWHH_#?.9-;POOHU_RN&HC5VNZ@K/F6NB87 MY($M\V6E(&O_;IRJ:Y+,:4TAF!=_LT--K80J_FK5=C]>[U&%QJ=%]FNM_,W0 M/' _Y]S4H^9:6KNF_*/\E\H22M.$IEEZGJ8JT2C4?Y7]]"572K.N[;W^*YS1 M#H,[\H8WQ)_L#E%U@9E%ZXSKK2!)6EIZ;UOXAPPQ?BXKI^XHB39SUU\(;5\8 ME8Q4_%B>@$]X.1)"[:O%E?5BA[V<7>:9"FL6SP707]E\H26FKA]Q)*D3DBX: M8>8O&]BEKX@K%^\.-)-9U\XRM97S?_QX*ZEH.%_ _<; C:*I\<0'][/*S?H] MB_26K\V/S?JEZ2?!T[JI:>OF:-TVD/6%9I3.5.K@A17YGIB]OI]Q":$;PA*>R#Z0@7=%(]E MBF+]PRX[L?[%'U]OGF4D7O[!()H/L84CPQ9BV<@#PV"NGV;8U0@G<>WCDQ5N[N081X683[>83RSR MBD5>L4 MS9.37 B:A(]%:$J:OFH33Z+BI[C)A67Y=(H<^\ M%:T(Z#$&#AH1:J ^=NN$"1Y2&J6J_'>%\DO-:5L\&B,@ @@10(@ 0@10WZAU M3UN8#V!P3EV,.J=J?1*XZ0#S14+-N:(AW#(?$DG]EV2W*,/49=<9?U%O__HB M$LVMJ8.OXS_> 1_'Q@1F0[8$&)\ZP$QFQVC7 28S>_C_!YB@[!9J=)"H?/LF M2%45OSLBI:;>'5.G:/&]GLE*_8%M)BR[4H=)2Z-)RX\W5U?UNSN1&Q)+YE?Q__OSQ!)VN@Q9*^^Q6O2V?E37R3LA*69:7LV.JGIDG M(BG*O/U&4U7([#/_1L5GMF3/H^2#C#FHHG0CYNMJ-3B#NS&'3 Q,\J'!"^FP M-E)5]7?C5.'SAQK)];CX$(V*4IK'RGPXV;,>UE&(NMPZJ+,KV, W(J+G-9^? M,U#5QBJ5VS.7BGNF[M94"?(+3^[EWB,W(45O>LLS$N___82GF3QQ_IMFUS3D M\X3]5?LZDK'O.9IE8_R4MH[THM>_4NWJ2IO8)<*UI)5U>%E$QAM!'*WM[0(& MJ)AQL2SOKZFBP8VTM[2V2[FT;E5JKV$;JVKBA,9&%$EU(ZMT7LL%*%BH3JS6 MIQ<;V]H%5E3N)WM%AX\?=TW617:+3:;XO[756FXE=3O8D)]P!9?IRD)Q,S5/ M,A4)O"#B3YI=R7FG&Z?W5!HX0TL-\,FI2;'E+OQ.V7RACKQ[ M*J275?Q1,7=&F"@J8P\MV&Y4C%76:>.J*^S6) +MO28_95]F=^V:<#^F, ML/+2>64 ;/#Q7>I4%_JW\;YR(]I[$&<=)1E:8*T?1-@EPBX1=HFPR[X8K\-] MG+4ZO,5MF@6^B++2Q>8PY]87&;2#E>H#$;Z@^^KT0#\SZ8M$VK6B(T7ASVW'#7/_+G8.1,I+KH /S@Q=(C5X@WORKGE!"\78>WZZ9Y MNVY:=] F>;.GLQNZ]2R/=ON4"I:HM.PINV>1/-BN#8#_=;\[?6G^QM7C#ZI MFFUY5G]YNA*]9NF?9X+2\T2Z)=*FMR7/IN^.2YIX9V*X.P%-*^N6BF7C;3*C M'\0; 7@C ' CP*W7@A<,\((!7C# "P:(DW2&DQPIWXB==XD>/U3P[$CYM@D7 MG2QBUCUZ-]\=9'Y:@? (A$>,2K@(CQBSRB(\PHIX)PN/R'B@ZF(L52T[ M%;Z822:+& 95\0OU&YJN5A;P$=T(&2M H@\WB) P^R!Y7/[! *$'"#VP M#CWH:&DC]@"Q!WYC#_#)0GRRL$D/]*,[OD@$H20FH"0CS3\A;@!Q X@;.$S< MP#T5=WQ;63V=!;S,O/6$*2D)%XN^VB>0=0\5LWIR&@ET]VF-!+$5_'G4'&H8NXF/O@Y3.BY\%77&AWI7M&R33&-)JI$R;+@R7 M&0V7G;)TQ5,2?Q(\7^U>[%9/QB_2R7QM"53%D/1&P]>339R0L\@F" MQE+EHI.%>L,YU>8 -HPY-K0)MDA:MJ#B1&[FN9#;7B\IPXR,/=#H*$UIIL\*;)A!V?C$>?2-Q;'ZM-P=+V>S*BI?MAJ4B N2Y#,29H6Y MMEDUY\D_R:KI[AN\%P;&J\-A3Y3O)"9IRF8L+.VV^KM"P%YCX:3Q1A&XGSMN MRA]H=#D[?KR@)$F+#>]V09(;$E.I7;)!6#I#LM'6%VHL?SO\!]S)1WE]<1[) M/:":SM9;93U'$T%DQ:8M.@>S($:*KRS/>"+I"SO['4"[WKX^C(-[2DF+=O;E\Q;WW4\ MH('KBTC;->+=.UOIYT"(MYAS_$2#8(3H%EEK<#W >$3!DC$'!I 88 8 M_@%!$8;*DQT0[@"8@P%+Y <_)#)0&M !3./[X"Y/)5]IJNJGW+%DC?0B<1&7 M8^LW6M8W_H.58"$-9EP4%5-(^.^8K_-(*AV;,65KE^?[AAKIWGV6 MOU;'&:-I<9M27<94_MN\V,O*OSV>Y$)M@%6,V?GRH/E[PR1_X4GH3%Z[CX]! M9-NPP,8:J&2C['/+LVI$@JUO!^\'%%AM.3+CV_Z^Z-Q1836]N-&0HQUA:RUH M3J6#^SGGIC[+W=+:">5[*U5N42F+UG' 6^F/IZ4=7U=14F>(;@O6)I38&5+[0@5=XV]<<[9(G)%UL2#P3?+GG?]?PW] C2#XX86(C MVQJ*-W]VI)[KDG_I+5^+;:-!-/TD>%K[.%!+M_%Q([7XR1 GI=QXKQEL/AW')HBU?SSN%Y7R34#HX$Q?Q]02<#% :88?=%(C8 MQ)/%4+L'$(^QU+:M](A7L&P+0C,T18TI&*_0X=.=(\W N54 J:L&/QI4,=%W?DJJ/#'7^_:BI^\$I=9M#M'PSKO+=;ITN3G@XXX*R M>5(&Y,/'XLR.BQ/BD]SW/M)10WA7 MQ>$HOR^R,961;+.0O%,-D!3:[1H#"?VGD=\Q*0G47_(J7ZZG,?IVH[E4=;G5 M?$Q&I4-MSLYX0V@TS=A2+B7)W*^!(9^ZN\JTC7976-1M ZDS'" %I/ M7C!^9C1^=E9<(8@KKA"H^M&AG*NCO:DZFLG-^;\I$6<\KZQ3VV.X00N.]O7# M.BOMD/&XGBO'DO-_5G\)97^NU^7(O\CU?/N-QO?T@B?9HBZPT6]01V$;/:*O MJ=I>Y*FOGDY(0Q*KA3"(."I'GH1,:K:6?H--AO-;^>6ZZ%G'T:;#^S<^'.?? M^/CXKB]LU-P)"[%@"-IJ"+J[U8$1:(Q 8P1Z%!'HT<;0#%BR7MV.,R'%-O?( MJPMK)@188U0>8 A\(#?$JZM;IB17Y;L:O$(U-L$-'4_TZEI3;YUKO%!D+2OS M<[ DXD_I1BC_(Z5A+LH;:>E"3JJ4BTN 'Y-!"6QNH2BTOK'5')#;\E#36QID+$=A2V[TJZ@#J;D\F1L5P7. M6X@O30]5:"+-CDE:^\B:[C C48,=B4\)!G)9U]W5:P4D^?.6+:7P5SQE6?5C MJ[#&=E\*X,LE%2$C\159J4IG65E=BT:_LVQ17.%,(O4?=8OP7LH]:>&M_X"6 M^1WDJZT^D^-#Y2:^(15&7V]^<3OJ4B*!3"GDK+GATGC M-J#;W3)OA1*JN;GBZLIR2.*;_"YB]RQ5#R2T<*;3^5 RG$8=%,1V4W;JKW_LKCXA6P^A1E_P$GP']# M+<+N W:L8&I,!&>$B=](G->EW,']$-V Z 9$-R"Z =$-EIP&1#8@L@&1#8AL M0&3#V,2$R 9$-B"R 9$-KH\S1#:, -G@2!(O^>2ZP4GO%D@GF>B&-(T#%<:8 M6A\P'NJ+1=1/<#7AU1%!$>Y(+$]LJAXW>1:SB*0Q]Z3E8Q#RI'C5+R=QL-=N M2&S"X/2, :Q@B"E$+XP+O3#X-/>",QA2NE%T9;0[&J).8BO? A8?$=2%A9W#B(6Y^J5N&>=RU[='% +E-AT7ZVQ@\ZO&^?7P@2#7&=KBF;) M;_E(1,*2>7I%Q8TB1I5&"FOTGR>A*%2*Q">% M]A0TI4=9)MA=7J0(;_E&PC2Z(H\%REH(DLR+?O5N_% #6Y6'/)O/BS71<(^[ ML@U&)#RXR?P[9?.%>FCLG@HRIU]R=0'@HJ4&7^:9W(<3!46M841S%$>! MN1HJ7Y#7M MKC0';X:;E,+H_H#%&A3$JC%%AC*HFZ-!@JYA3B=$6<^QU7GEW M[ZTE6C6L_6[NALYH WX][4!SEY='NSY!7KVYV\N3D4M-S,!!%/F'8,YY](W% M<6&Z\FPA+56V?8 X(,4+Q!6_*5MF"Y+L1N@6/C9)@LVXL7D^,&!L-&!\PV?9 M-[DZKV*2S;A85M:] K0T&;LVJ62@H+5Y+>\3/TE%MA<[D3_MM$O^\,<%>6#+ MO'IB:_]NGBJ6-%-5]7?C5%TK0[!B#5;^S0XUM1*J^*OM,L4K>:"+S;YPOM7^ M(Z7\;16)X7WM/UZ0?W%Q$LM3IKFFM.X( M8^&P"<4,[3867G:2_D*6M+%B;,=1QL)I/:8;UFDL?%Q3)5WIN^[O ]*-93QZ MJ\\@9#2KG%\4%VDE0<6)5:%J3:>=7F>[:7"N@L8KFM&CN:!E/*^1E_8.F"#W M($%^*TA$U:[9K UUS0XE\6O4R<6,K_\9WVHGF;=XJU/GNH^US0 M=3>?QA3$).0$\T[!0OK1:R&!4S%3WZYM@FM'OG,C MN%8/EJ67/CG(*^$#) F]VV"Z"NQ%>L>[?:>C9.HRZK[8A;TU!YXW

U6#,%A2DN8E\#S=_SV?!;/-:S^;8/FZ;13(38,$0M7G$PI'K6Y2O7CY M$ @FM4.,35BI38X08.JF(H&=.0;A.VVJFZT"[P6!VSJIIRQ5&[ZDM2;[6=O> MT1U_2P7JG?!6_7(;?*ZT^_O)G2/-5(0U T)?-+ +;-I(:I/1*;>HR^1ZLSVI M&TKIUX3?J3I7:I&<)ZL\DW_FU?4;__Y*Z-"VL>+Q\_TGL8P5@"=7?%UL3N=(1^]GW,S91 MGX3NE1,_?GQ9;/P;$=%EP43Z\8&* MD*5JIR_K;->E\TQ]9ZK2>E:D?/T7>B586)L2M?OUB4EVQ41Y8?)\?@I M\>([P?3DX5X%?G[XNCEBV(]7;%&:2[4Y%$R(V0L34Y/S":',C MZ4YD3$O6%;:>"UEW)&-:LGYJ(KH0,YP"5[8KHJ,-T0%P8+]"56X;]P++.N?48FU$ %@P7Y )>X;*(?[%QU=MX^) MEWKP$9-PP1A$MS*M=[;$FSR\YK#Z/^/DCIO/A9 MT)6JLIS,Y;_N:9+30 DNX')O*8^2X.YQW4BQM>W7$;4^^(>MXM@-48_(=J/( M]H^YD/-R4\Y 97VJMF8#$/%/LB))*PWUK08@X:LJN1X5.V':2DEK8Z-7#@9? M:+!+"(;6=Y_D2%!ZSJ""J.-2;65$LT$";/?6;;8/)5TGH1QKHQK=9=. M_B^Z)0\U7/48R2ZXHA1Z8Y'(RC9NH"K'>2IMT72SNS:5&P;U08 0ED_LA989 M_O1#_(S_^!F <<%U#O:IRT-OS^:@H\D[F50^+0PQ4:<.M8*M%BU[#O!-*VRZBX[1[5U4%))S6^(XY<-*8Q=(6\>8#NH=^!A+ M:H M!7A080(%$RB80,$$"B90,(&""11,H& "97QBZ1B+\DZ',*\RQKS*:.LB "(S M8TF?Q#R9Q^R>1IL'@^\>@SGE ,& M;\ 866#=DRD]UC/F5J:?6YE[R*29))"UP]-;921'VA60WY35U< ME5[%; MF6S#;,FBVI=M)ALD73+Y@\@63+YA\P>0+)E\P^8+)E_&)!;,LF&7! M+$M]ED4GP#&6=$O$4C*?"U7[5+EE?+:M0C!@B@7\$>=I%4U*,95B]MK*EY,+ M(I=E(J?FC(DT"_.F>RJMK0<@Z3SY%PV5;ESP6%U'NU(*MY3_KJ<+V&4 XBZS M!15R^"@/:T+);T;B>@KJV@SP^5OY5WIZ)5B2%7J04-F'UI," M:6\]^03>AKHGG#1W.H/)F[4F7HH;*NY92&M23$W-;-&8RE-]_?GZ#%-K6RQ- MAHD&3#3T3C3 =S!,+AQ&?J5./CD+40M]*GWJD"RP5 MJ$\U];@76"!P=P$L$OB#8.,42;,S!Q;#2-_W HNAU:N>^E9J,SP^TGUS"N%Q M+.[4.UP>;M/N- KN2$R2D :IVN;2(,Q%(9/R/: @3XBD/-N]'=X>)^\SNJ4 M>7\2,3(^3&2\=W3A* QYGF3I%7E4>]5).7LU48;JQH[ N1MBKFE(V7WQ:A+- M8/0W=;'-@]QXH_+:E=S5:-K*0'-[%]1_9N2.Q2QC5'G-A9VS]ZMF3F!];7.5 M+_-8[6T%/>KY*4$7-$G9/=U=D).:6!0.(KPJ12G9 5 MDV:Z)'7)D^)YWCKFP!WM\E, BNMH+M'&[QU2UK*V]]N,@H3DB[D[J'^HS 5]R0N,$K9"1'B49J-OY$XKPN<:_6UR]5N-34R4-/,*JVG M:P]D>S#M;>+U-WZ O:QR\E&:SOR12@^AV+OW*&I>O>!^5KDY8XFRS3]3DM(- M28_-C$"ZN.?A"T]"?39>]G+&R;5ZDO)R]C6EQ3X*X**FAU4./G$>?6-Q7$/N M\S];I6W/*-[9]S6$-K:U3/6]5$K5\V' W%+>9C>P>K]%\0\2T,,Y M!ZW')*R3FTOO.E8+K-,8^&B=$G _A]S K!=0'[M9,KM0U3?5B;VENG_9]OPXD]L8.E@M9K)W45D>\H:5MBE>$11\?5C21:VT= M585$H#1Z3KF8B!,>KA7F,*'11R(46";=BP^?TAD+61TG\(Z(HH70>SDKG6I& MXBN>%F'L%DM5IZL/R& #= *]L='X7R\):=61M@[^8+$[K0O$6/N/L6Z9X$$1 M8),%P4'/1>^4X26?>]( )!-]$4@SJWLRZ9":]&7Y@&4$#L+Y BT%2P:.=9HZ M.%];-/4)E:F#\CN(HC41-G6$OK9,M,,@8 G]J%W+A&!1>-+S8N('L)%XJVM3M^NZ6SP3+RC046;H&";\S%7!Q4Z0,P7>$_-]]U M\D5M]&2C"7;V)?:BK4"Z-YQ\B<3H"4H'N^5+@$9/0G!,OB_!FDY+K>U:I%=Q M&CT)M>.$?8G8#++W]#:91QZ[&6#[Z2VBD<=U]$2D=97-FQB/YEH#(CL-!GFF MM$]WWJ!';D7#/%0HH,H75 " WZI3U,2<:^K@5->36SNNV2O75$\XNE=P=Z*R7NMM^^M4E9,. M][4_8(7Z]R[XUN43+JJ^=:<32[\9?13EE*4KGI+XD^#Y:AO>6(.9GE$"[V"[ M\LWS8Z6EVA:@QU@X:+E(HM'3,D>II$)!>?9+H]_PW1GP@I&V#G;K^JP-NRLJ M;A;R!&N9AK;F3FD_)BD+@80_:>N4ZE,6YWN'00O=SUK;K7)#$[D+QE)MCZ(E M2YB:^DPNQ^I-5+.774Z$-,>O!)_57B_=:^'HKMW.;]C4_V5)+E5A?11)H^.8 MSKB@>]F=CP]2MM(@9@D1CT4(2<425>5@'DO2YN=)1J7I4U]0Q]@7G)L=R%=5K:TMKJY3+8WFG2#7T/FGC2#>>FW1UM+YH-Q9Z6[2Y MM;T;ZEMUHZ*E*XFK6([4HI9\M')G MOB 401+2A6B8 R8Z.)RT=*@U?^$5 +&;:.I3#>8 B"-<5%UR&.;NQXU=>RRF MRWVY7]=!OBU);7/7ZL:N?HTY=%^L)9C_ 4.E^>)^M'+;()F*Q($OCD.]JF'M7O:$EJEH1+7:/)1<9^ZM0#K5= MIV7%N:,DNA)TR?)EJBJ5IUDQR<^8Z3=8D/SLAO7H7_F:A%M^3:4^AZPH3+_S M\&ZY>O#@2O![)I7U^/%KJJJJ;#W&HS!C]^5ET9;GZ0U^RJK,CO-4GFAI*K?B M.Y84\UO&8.:2-_FO5!(OUJ>1(/*W!<\G"_7/(8*'O;SS]Q5[+;>[\27!>)7C4TBMB9#3:AP6,_7TN#X.)O1^LNK5HEP M=%OB1:DOT,TE8"_+G$CS-&2%WLI_QZ4=D43[ID0M._"N=GG:7Z1?>%:Y2-7A M_TF:I)?)[T(:RJ?\6RV?/8>S>^.V6!:7L_VE27R8V4_N7LR6,GVY=.:CB"=7;%VLOSYEGA[QJN MP/U&PLW+UYW #.VZCFJ2GE7\[3!=S2.,@\.*\N&[FK4OZXA#V08.^[S]'CVK8A0_@R-&!$]BBQ-T'&@._9=BTQXQ6##"N&:T@L-N, @8: [\5 M$5X]/BL&&->,ZH?+NP\T[J(K3JC<^&MG7%S352ZDUYM2%05_47/W&>GM'5T= M=QO*UD_^W')I,JNK9*I4IU0/2? &=R5==;Y4!W53_*CK<*[9O^5'H719!3VZ M)RQ6[H(BE>R_77A*[^H6F>8HHV%VDP2B96G?(C93_J6NG)O.$*-AL_8-5RB3 MM0,X8U'PD-*H &Z?IVFN0DL;R-'7)"IN@$KRV+TRJJM7G.)E%VTK]J#+55.P MS\HWG4GQ@F3K%5HX)Z4"2$9.2!RGE[-?:2PWLW6CQ]UR!LBJY\C.)%)&];KM MAQV'<5Y]V90F>UF.&0+C[4 M7YHFB!(T.UBYF6X*MSOB3M>\BA9F4;AJ9[%J0<2/Y#W?HY#!NUHW0U+H\=AF6J*4>]$BSF MSJ/Q'.Z: NQ^L]US0U13CF,KFW0(=JSF%+FM> >>$.TW:58%:=)&%=G!34O/ MLIK@2=%^PZ:U2D094\I<]#ERE'/0%]^7* M-\8U7N?)D7?DF1*ZRH?']!U<,*&^I>%N+6ZV^Y\+:4K)Q49<@RN7C7 MV;]FCB!]W)4/KR&O\"#OGGN0UTK'4JEKF23'*;R3>[9Y-I<0- M?M9NP>"=6]BH!;7M7%%;^YY)/>$ONK@JA3TP%XY*3;>_"?*2"=@K(K8*Y18' MCJ**)W)55SY? 6J+M8]>4%EW^!7O1W)!V3PYR:7)FX2/MX+(?3)3!K(=WFF$GNW_*JPW5M*"@PU["AD\361/G+, M_J+1KV7,>.^FP#;[=B3DF2M]!?EC,B^/W(YZ--3GK,KNFF:22AIM'O]K/-Z; M&[LI-?%LRTTKWO+1ZH-%2F!%2@HK8^V4E?*$5RMI[^M#V1(#=$JQJ50DC?;W MC]+4*X Q*6LJMJ7=?SS#)3^+Z7"MC$*' (5Q4"830V14R>41I8Y.-[IR]T";;EH9 .\NP@.E1'$ MF?;N:A18@;HER+S#^T+E!0@\>[<9C;"&H#,D#/A!>W"6RYRZC%Q([6:]=T=6 MNSSZ1%.\.\2ZB L:L/#N!&L4EEVPA ' L$L NX8^=HTKF0/QCE$;AZ@/JPV> M':,@ALT"FS.W'-0?&4PT0'$/!TSPQ?ZW.0/#IO1]L1M-S 8]>6+-6E"B/9, M]9%;GQ:%.[AA/_+;:B9$.U(W8!J%7XWING&G 6XK'Z9\J]/@YJZ,37\C&<*# M^S"9>*8A.\Q B'@Z@71CJWV8B/+; W3..L(6X3(]0'>K&W80+E)MY\O1=67K M6VCM9>,VB6I[7!Y)M!VW9O?2=L(S&KQ]&Y =2B'@BN\@W&<\8 7G@91X6OGW MX@^1PH'$VY76?J';Y-O(\I*U*7\QPYL6?=&Y1IB MV?R$90<@:#LU-2]&[A'4^*8DC*:7BJA^\\=N*NU,ZIHI)]^V>VM]QX#<+7?Q MY]U;*IL0-+3 @-8PKGCUL8K"CKK*/ V4-4!GO _=?DINXTI-%[7'=77? 2K4-ZIW#=%"]"3?=:BQMK^4 N4C7Y5[S-'YPZ\Z.X MIS 5V5B]83?R_,#H+@*-//;?1UY@Q]$72%4?876(DGBW)E]L5*TQ1.^6&=XI M0\2&#"RK\5]4&3Z*8NY<ACD20CVBHE3F^''7 M9/V>4R'K\CPX3R0C>7%CH3AR;Q^4S1>2V:-[*LB< Q:^[ZK/.S!R-?-HQH6^!O?U@(GS5^MG_2L M^+96?BOX=F;I//V\?R;^4_[&I_F:](W5U$GK!+"++"21>LC\"UG21K"OR4\A MH- ^H'!:L!OSH3\$MAT.L*TZK,IM;G:^B+(=6]$0P_8%.]"J3X#(N"^R0+P1 MXHUZY.9=Q<[,+3^4N'9(Q]Q&X*"FJ.MI:,Z9&$11';JHM8,&!O!83X&!MXLV'J#Z]XR9@>>B:^7& U3_=K (6.K:M<\/< 7TP8: )T*[\N.X MT;BNLKE@>7,!P=:MWYB) AK()T(K38* MK:XNCOURR=YI+]FKW?R>+-1H58AK!Y^?EM!TL]>CI<_1-8#67:8O_A^XC2'P M?X_*/2TJZYPV0O];6H\+%('@_PD(V0/P_UO/9@;!_R,*'H\>_.^;]OL!TT7P M]!AG!<'3")X^8/#T2(\*!$\#9;9^K"7/%ERH"EM?DXB*O5?S%.';E_.N! OI MM6*\C,M?SM9_46"IM0)IB7'PKX_JD/1-MHZ..@3]-V2X1HHQ-ACO0[0_HOT1 M[8]H?R/Z! J&^R(-Q/LCWG]H-(IQBQ[1_B.*02+:WP.TOYSL.W[8PM:. MWR.\_T$N@)Z!7@.(_Q'6#G<+HC.'[S]D&6M"Z@Q@^P]^IQ_P:HLVPO\@-_L^ MV">XP]71PYW4;0OC616XN#LZN),2]_@OMZS_HOY/'4[R-_\?4$L#!!0 ( M #QH9%4*R.7/>U$! =)& 4 <')L8C(P,C(P.3,P7S$P<2YH=&WL_6MS MHTC2/@Z_WT]1CW?VWIX(U!:@H\?C"+?;[O%NM^W;=N_]V^?-!H*RQ0X"#0>W M/9_^7U6@HT$"5$ !.3'=+0&B#GGEH;*R,D^G_LQ"KS/+]GX]FOK^_.3X^,>/ M'Q]_J!\=]_E8'H_'QZ_TF:/PH1,7/VT\^#IQ+?:HTNT.CLG=Q8/TAF$NG]U\ M+KRY>-363-W;?-+#^L=GY^68W2*_493U]YJ)75"/3=OS-5O'R^<](VYDY%GY M^/]]^_J@3_%,6SQLOOH=TO3&#Q9=,6W+M/'_^W3_]=AW-=M[5EXV21W]/GE!Z=ZW)^-'L:T_I*(/%2P*OX[_-\6H2GS1OPMZRN$-_ M-.QTY;5.>JZ?]*OEK9B?!;Z+GQ,),#XF]U=C2WI.5M?&MS8*U[$21L'NQ(W" MG[OQV*%W-J#SCBB;R*&W)YJW1([I.3U%'N["6OC$!N3]6,CW0\C[*U2:^U'9 MV<:R/PUL [N&,\,;O[[__.7*)-U_]C[JSFR-4.G(]!K+^WOZ8F S?MK)C8U9 MG[O69./]<]?Q'4N;L,ZR1[MCM;N&RE@\;KQ3#UP7V_I;? \6=S=^XIEZ DQ, M?>-!_*I/XY^D=S:[X02V[R;U(KRY\0."XV=-F\<"G-[8>-A-P+6[B6K#=[?8 M>(/8Y/8QO4U_TZ6LH\A'9W]!IU.L&6?H+PB=^J9OX3-*I@4M_B-W__A(I/[I M<7B//?;_ZW30%VQC5_.Q@29OZ#%$XV>"1G3GN+YFH0Z2Y6.5=0\I)]W127^( M[KZA3B=\Q0S[&J*=[. _ O/EUZ,+Q_:Q[7<>20>/D!Y^^_7(QZ_^<:AUCL]. MCQ==/9TXQAOR_#>+P'^N&09!_ GJFC;J?I1-^Q?T1%[0>=)FIO5V@O[GC\#Q M?WDT9]A#-_@'NG=FFAU>E!"[+"$/N^93]#O/_!.?(+D[]W]!!$&>XYX@+?"= M7X[.3@WS9=&N87IS2R/OMQT;TWOFZPGM(';#CZ9A8/OL+_0S>>(FF)$F]'!H MK_X]U9[&?^C\4%)TY>CCN$,9P-8H7Q/^.;FTR<2_79#)<#7KFLSRZS_QVQ$R MB2I;DP&=^,?.NH1S>SUU,!B?'F]T@T^W[O&SZ5&5Y-^0.TF]VGKJ[(YR/?I* MV!Y=VSKGCIW/L&V0/_Z5I3T?H5!5_GI$=.O)Q"&*0[.?-(M(]C/V#^?&+YBX M\:],3]>L?V/-O;2-SX1)CLXZ'5DAJHIS>Y\=/9@M&[PCKW",*W+-.SK[7[70 MMNC@HI;HXTEM7;F:3@T5A@Q]W.TIO;XR/-IHV]QH,+#-\/+WA\^+YB.1>')N M6$(T7Z27ZN;*+"#F>'X!M;- MF4:D2O2!B,R.>G0F2R-E2:1%YW>/9A0S&CFD=O6C&?=&F48S4M+2AH#M8:JY M>'M4=\3PQZ3+QH/OZ+_?:>ZM^^!3/?$OS0KPZE?1<+HIAW-]*/BE&PA[QS@-_ZKA$W1GY1B!W):)BZ)]LP^BG(HOPPQCPI<:U MYP4YAD!9/6/'XX36 1V_#7RZ)*!66!F]CU,@!Z"GO&D?\^UXN=,^/E@W7#BS MF6,+(4C'!RL&D09S@%98&P8G6=K/)TS'!^@$<09Q@$9X-XB<!.A-^@3([R?K?\'J(E"B)!]$'UE%Y+^"OY@LVKFW2NV>3K'3./0_[WJ>W;]I_'??"TCSO_-7T.M\T]W?LD^[?8XM* MV.T??,.S"79W+[5VM/?%=3PO^^JJ=W0V5K/ DLQ('%D%G!&R!@UF 7OS^0:P4Z'*E9YDCM=NLQ1SF9]#5L M&MAWLO12C=^"233H_S![GSI$OV#GV=7F4Y,,A#W^_6%M1BZ_W\?/B!6/FK E M>3DO@[3STB?21?XX2#\Q:GN$:F3VZ5VE*RL+%&\.BYE/=!/8(#;5'-L>&^"Y MZY+A,;I_>EL]]T4OG/S37N'R=FRY[.'3('ZU!L:^.-J:!AAB<&('[AC67 MNJ$X^.S_PSI!M]'8J"\?[NXV!TBW]TXN9W/+><,X7+\&KCXEPZ 33_O'^VE[O.RO?V'/ M7U)8WACRH+MCR#W^([XG72&_]".W5B1:[^DP0@5$1.4LF)4\"T-YQRSPV%?+ M.@O::Q6SH.3!0HS^[0]WK7PVIX)TA+5)9'2X?GUG8A!AA3=$&?D)%>C:,[Y] M>M3<9^R3/I'?7&ASNH%V^_0)DQ%>:JY-3#%[,>*OS@_L?C5GYLH$Z2A_9]/:@QZ;Q'OM,0JA./!0R1&4 LT.UDRF(&*=4ZBP"3 MCZ\>D;KA;1J<\NN19Q(QB(_(^S??$3:XT0C[[CE$?;&O+"#P))IW-K"D?>VS MZ%G, A06WTR#?G\RL8M8JS@V^N_B^I^;@17;/SY;7-I\^YS-^.*;YVNN3V,# MSE8]7/QN=6_936/M43J"51/AG<7W12/'&W.QG!O*16QB0N?1XOTSK'F$KN(JV4Z$@$F.(Q2\\]6G5J^*+J3=VTQ.9B05/ M8#0/^)EV*?QJD,9>YY:IFW[8!V28Y*Y'S-$U='L\+6M.S/<"$JF'J?PQ(U9M:N@$+G2[0#W M@[I&Y$/-P,Q$!D7:9.*+M@80:6[ ."G".*DKN<&H*="HJ1X4)I@]1?L!MHAU MZ%H$S) M>G-NP''+*S.1P5AH,?'!R&@5N<$X*7$]+PPH!#!JJI\;$\R>$GP= X[Q?&"^ M5.3K*)^(8(;4DFQ@3I3FZRB N *8!86,,2%B&)1^<:9N1:'/F8D,QD*+B0]& M1JO(#<9)B;Z.\D%A@FHO83W/\WP>J.B*UO/E$Q%4;2W)!BJSM/4\3^)VX21? M@<3J\CU-E(Y8H 4;0$30@K4D&VC!MY84 A@%%3_=R88/:4X.O@>:@&S)>*?!WE$Q',D%J2 M#0&XZ1$7T?Y MH#!!M9>PGN=;31!4="7K^?*)"*JVEF0#E5G:>KX X@JWGNN!]^(?1^^O3V#6NVQPC_.-7L!\W"-XY/'J"- MFG9 'IK3HJWD/1&/_R?$Q!)=GS0KK/6-L7]N&RNQ3E]B.;1:J_?I;:-]C[S" M"@PB-^(;BNK%V\&3ION!2YZ[TG33(C-];?]#FVNVV(RWAQ8KUN-'E$3>3-WI M^G;6'V>:4I9F3@6N!:X-I<7)NA?A'W&L^*LO[Q4^ 1T]?SSG5B M6'GFDEO9=Q<;JO%;,!'/"1"T 'M^G49< MSB0O^"\\7Y^%7/^Y8"+MF72>?/+(3(=R[=/;X]L!X"S]0>XKVM>ZY_LB3. MT1G]ND$A,?!?N8X$T /H!;(C-E+479FVZ>.OY@LVKFWRQF=S8N%SS\,^61E] MT_[KN&SM%P'1_1W3&;_'S#^Z_0.Q$9IAI"ONNB9A('F9S%0B05D1%P5O )P]_?1U#7BC\.J8LZN=:9JQ/ M8+-41WD@K,-B6F@0EN+@:2 (VPZV6D(BMTE+P\8"'[L/SI/_0W/QU@\:"(E4 M(VZNH0L$+Y/@8IF_0/O":5]C5;"8HSM+\Y\AJ!K[19KB)"[;MP357/ ,9FR:5@:+M$\87@><[,^RR[5,:>#\UYTTD M_XYQ-E=$ W';(;AWC+\5^X)YZ+^W1[ Q6! ,&[LS6!H,86L0M%YI6J\:4"Q# M+"^_W[^+L#0]IZ?(PQ-R;_'[;'&6AYZN69Y\_8*=9U>;3TU=L]CCWQ]$Q5B9 M)P>HE$J>A;?OL69=>A2 G[&GN^:< MHIV>5KE]NG,=TFO_C7'KZC3Y-VUN47>M:1,CC[")XVMBJ@QF .0:;<3I*<9< MW(J89WK9F'0T -182!.,I1MS&SELOCJK"5"^8)M[!*M17-:S(B-YOGTZ-L+ MOGR=$T)$":I:A+J$_!_K<[:R3U--WF$V!G! ?B>Q9KK_TJP ?WIC"XVU]=/R M7/WZ0\N/OQ'D:*X^??N*7[ 5(3FZ=VW/ ]]C-^3WK_@6JG8Z8UN6W< M.9;ITQP,#\'$,%],.G_BIT6)&]6*D.F&5P^[;A\I+QQW[KCL;.O$?Z!@)>.M M0:K&W13<.:IF$.[[PQ?G!;LVN_!,I!$97Z-HF': S2#G)\W^_9',TF<\=SRS M!E5G=A,O?CC-(!6M1HQ=>N-.(^^^(=>#Y&MI4,'@*=G@*6JI!09/;=*,I^1!,'@:1$XP>&I#*C!X MJC=XBD\-?F=I-JUDP$C^U;&??>S.R*AI!U]H'BM;Z!B]\EPHQ>03XN?I\MIVT,4,Y_:*Y!\Y\QI%P^W-V)#8J-_D:H6/6Z M00#X1FY,8U.A?BN*^+.YY;QA_. [^N^W+#%>K;"PN)PXCOJC@R-1ZU;U@1NQ M][8(51URPDBK0=6&:F&D-;LJPT9>4PH*!8EO0.HMQA]\EQ9YJMXX>IYHH> M))- EH11"$^8=*(/:%0O\1=O8 5Q3!JT\UCX49UE.[Q 11[ADA:)AJT%0'15,UFMJG M;$ VU5PV"17_ +*IYK*IMG93"U#36KT#M!6;;X=;?,O.A]-QT/-N_MN%,YL[ M-OD:IN ^U_5@%ECD$>/1U6R/?"*S>F[\-_!\^B.Q:;YS;*OU;KI!%LGJP\I8 M?;C%Z@"'JN$@IX=#\5H=X% U'(0R! .5<.AGK;##?:_VR[6+/-/;%S;+SB< MJR^::7]U/,&]Y-F!D6JX8$\ 1*J"2#UM#(!(N5*DAG8'0*1<*5*]-SL"7]$T M+7!N^.]";MMI%X[M.99I,%/UFF LY)M;\FIRR7Y^"!&P"'A9XO!3X)DV]KS% M_3!;FVVR(%KRS.*&F&Q%'?'Q(U_Q4L(4Y-\,>,?+<7,8^1\39[(=IB&@$E I MGC4*J 14BF< RH!E>+Y_[BB\C)PG3D&/!Z"QY@Y!%L2D-AP)#;7?@0DU@N) MS;49 8GU0F)S[<1_:'/-!B > L3W4PA6(N"PT3ALKHT(.*P3#IMK(0(.ZX3# M&MN';8!5B\TN(&^CK1D@;Z.-!"!OHW7O'AMP6:STNZU9EJ/3&,5SVP#3\ M,/7,@DD!J 74-L%2 M2V%K4U-@ !M:U%;25VK5F8@(4PR5J%21:7?WV1%1K0 M!>A:P8$7NB!P3%!<%1RN4S-Y!8BJ$Z+J(*/ YA=\P[AF$@KP5!\\\2\/LKVO M<>6W_%^NL0*=#QF0_DX=\9T8^BXN7N'%$U-HSFG;L M! "=V^$[!SJWP]L,=&Z6?S:3?KZXN?BFZ5/3)K-R9;J>KP<"FW([2)P\D!9K M9:!NDW4Q4+?)&ABHVV2]^SAU,?Y\YYJVSZ;%QA;Y4TOZ[AI*BW4O4+CI^A<$KHX]0FKZ?8HU@_7>,%_. MT%\0.J4?R+\(_<]?7[7N+^S:YMW3.?+\-XL0:Z:YSZ9]@KIS_Q=$&^EHEOE, M+ECXB5QY(BUWGK29:;V=H/_Y(W#\7QX)#3QT@W^@>V>FV>%%";'+$O)(SY^B MWWGFG_@$R?351V=A7TZ/YZ07%31_JJ&IBY]^/?JK[^A'B^8YO?_H[%&;6!@Y M3^B"DLKVO=-C[2SU8'7R"^SR&>XH'.[D[/O-]>/E9_3P>/YX^7!Z/*FX.P^7 M%]_OKQ^O+Q_0^_\@B:.2P0!Z4+@NJ07%X[EN(NK M'7.F/9-WVHZ-?T$_3,.?T@;^]@N:8O-YZI,O\]?XD>CT/2?(?9Y\Z$J(_O\S M>:NF__[L.H%M=.+N'Z'C^.GB-C&9!4HAH+ZZO?^&3HD0)O-Z$\S(DSJR-:H$ M#6R>?';T@&J2Q[M0E M+\66-=<,&BFV_.[--7WQ/9J5)<$IQ=FLF#;5O0P^7)G(GS@&T94^44B^L=6\ M^E$ES;]@US=US5H0QG?FY(>H6I5T>NP;,3T>#SX.A>KRAV^:^SNZM?'/:]T^ M)K--;(%HZH\92)*8 JG#CTJINAXPR[6S^X3-_P;$ZL2N]7:/YX[K'Y%WN#/- M__7())TB]OC)Q'&L"/Z*[[_ MEH;+^<4CO2V/U=Y20J_S8RW@5$,12-6NXR*R9F?3/CE#?RP@C\)U$R++*6Q$ M0]O'+W?L)Y?A FR#6TX,>BB*M#\UM+ %Z.GH#.KTYF/KF:' MKB/^2K-;>Z7Y>']^\W#-5"-HS?IK3>0OT;[0ET^N,V/4("+%7G2-]<; .LT; M19X]062Q3Y2L21T(['WA+%3U=X@>VF%F _A.O0>P?BV765"">^S"FN;?UCQ5/RX?)5TWU&H_ M[S?&2B5EO:VM?O<@15.(I-@C$0APHX2$1):PW!,73F#[[MN%8^#WQI='GYB[ MS@M]3^I%V#?3MK'G^-J>M5<3)O11>[V.]E)U-JF9Y&U/[A![;#Q01JF6J?5 MX0>&*T1L'H=N[Z/_!J[I&28[6TU%E;F.0?:8^ZS9YI_L^\^UPL>'ZX_W'Q\^ MHLO9W'+>R%@WL8!NG(_OW<7UH.)^2UO\+M=IOO>+FG/#<&FX1?C/5V)-RRG% M3+_?ZZ([ DA,('KA8OP[^NR:+[CV\KD=%+\@'V_=1^=':@6LS8E9=6=IIKU- M8FG?FB%JD\GP6QJ;]4+D-9@&^:EWYY"ILO[_YCPTL5(RK-H?-\DDB.:"JO^Y M2P!ESC4+X5>L!SZ10^0R49G8JYGR)S1%E*BY=X3+67&]]W%4YL?XD,@R5,:= MNUC+P"3#@;K-(C_OV7KZZA#LW$V)(LQFI@_)OX-15S"OR(?[Y:*?>KR[\O@7 MCS1IX3D=(;+9$"5J;UL!75$CC4PP&?$"L97!0!0XWC@^.I_34%3*IE53\XIH M6&*?4;1*3-V2+UHD-S7;6%QZ,CT"8D2W10EMGZAKQW[&1%I2/8TLS?.1R_92 MJB3RIKLUV>=40DC, U$RKNF;Y+>ADPR[9+;F@>L%U%OF.^@AS/N%9.7#Y&>J MHJBO_ESW3RKN>1-<95$09-0+?VK:X5\LZ#&ZR1X]02P!Z_)B;/#C8E>J+Y@I M\&CZ81 RUO0IT@D3>KM,&37)E%D,GGR.GX#H_L3Q?6>V\Q'ZBK59W_[I A9K M9*"_B"5%]).->Y7-M*LQ5?;P-ILXUH<$D[$=J+N)?/\,=/@U5 2("+(?4Y-< M64F[E'N]_;_%]W@74ET:PWPH5JG@W/E V$HV.+.7QOTD?%EJI&^\;XL'$@W- M2.F\R_ =_7<)W6DN^I=F!1C]U/W8[1@*32M'W M[BTJ3C-YMF@'_^VXOX?,BQ9OWX&C3*Z"LLW-;)W8C- ;\HW/N[8-NI]"C-\W MLMC!9')G-!3_QQ2S[25JK*_M?G^0(R? 5//(6LDBMKYF6=&2B"X!PF.)U.Z? MX.@!\N)H#1#^5%;IME08414M!]96$0O2TB4"O4TCJI!![A*SA#XZ=[&.F9$B M*^'[6"BKASZ0EQ*<(2\@VMF;.G1'?A$(Y$\U?WLH/[3-_M+.AC^.1O.SQ!:& M'Y2U(4\(9,E#$YK,F/Z(/4]^2?L3O8S5%V ]8=VE*\9Q-WR#H;UY'[2=?Z-O6TV08L0OALG:\@"L$4<6U!H$%3,3-\G M8,(608?KV%1A66\($^7UAJZI"-9TYI#]K/E:&&JTQ3"K=ZROH.\#\F2OVZ?L M<(^? RO<_GSH/"8Q!N+$$V%_EBC'WL]YX+LV=#KR",T 7V'@:WI(0Q;I-$:: MKA/XTI*:!J.X2X5@[%5ZYK(3>\.;$=R35MR%O"*4GLTU^TVB@I^\CLA(.D'/ MZ-EU?OC3Q>V/1 ]@UC<#/YDV"^5DFQI'27T[6N)P3&RA^/OD#CI*[M+B$2KJ MCQ(ZMGB&K'$9+Y)U1T=9Z*YUA?51*#S6U*D5-:\W;< MMQB#ESW$0*E'#Z6V?;_&@S_+&JHGUERNCMTE=UDP\I]O3S]*CG^NS:!6)SG2 M>+ $Z_Q-G/K9G'RRGJ=QZ+\>*=NR;2#66!:$: :F4@<-"=;UAR0CH4:B=8^: M8D-:93W$."N:6((K2=IA7(?#"M1;I/CM7'G=^CBS7:%O6&VW\ATF: M)LTBFXS"H6+RQ?28XK4U6SQ&/MND%>_/'_>% MO#[0%DH1.?\F<[986NQV#55#'N%A0XD;QK514GMT+]1#3N S9J9EZ W55T' O-P,QEHX=[K5ZXUZIYBY]8I!W/)T*!^@-98!BBZ2B6ARVOV WR MRW<^.")QUDQ@]WJ]'US=7FWDP MR% -QX\>V,1>5 %8YYJ+7M;W MF.G3WY=,_XSU( M89_9YF5D"457W#!#6Y=F/4-_09MONWJ\7[XN;B]SK8FC90+(Q<^G3QVB*HTPO=?;GY_NUH/9LD>W*537+Q:?5AE:+N[OS+9>?3_>7Y/SOG5X^7]R=( MLWYH;]XJ5=U6.KKU?'0*=:%%&\U_[;+_XM+.1;?"A'-;4_/;Y_BI":E_V,0\ MWEY\->W?E^\W3&]N:00TIDU/F'OES0WR,7MS>/ES>/#@1TN1I33 MK@B_7X!"&1,N),,OB'J6HH\H)E])8H:5BH.T"LB#8IIN1Y43[*0ODO MMKV&R3T?#A.[WCR2?L:>[IIS:FDVG[+CC[W6$/9.>\:Q% V=90?*-M$I75^, M[I ^HG>]OI.>+!B$ZOE.UEUN1?;CS2:13CZL%G%SV927_:7^N@YIF+H^3A!^ MG9H3DSY^=W[_B*Z7A0$JDF;\IT'^V&RV$DZ69<3=U7+?@:53F&V4IV@LU0X5 MAH6(B\B)1!;KH6-M@XYG2O-D@P*RH2K98"I[)<,WS2;V-14(?_?09]/3@S"[ M(XWQ/+= \ MR:*"9*E,LJA[);.=71L4&D!LD$LV="C M(1_994--?3S[[>G0PP,NGMJQG<#2V4#752A*W+1<4$LB"<6M&;*!7#\5BD6]INJW^VU-)0/ MFA5&95_^$9C^VWJ:&;H ^^ZQ0-#(O A(IP049HI0\#%6Z4,V>_D_8R?-+;_ M\WU.CW)@VW3<-=D!I<3]IED;+%SY,,5Z3(4"&PLGPX9K61G,"3[,-\BA^U3%9#K ,8&P+ M>ID/#&DSFCJ15ES;29WUE9E M,&?:,]YI-LMK9O-6TH=WMO/&_84%7?WDK"S%S$EV(MO\R;29Q5IEEOY%T_'3 MKO3[$EK\]?-[5@P3VK4%(EX7& F_E,@;BZZPAMD?>6]ORF:? M][T];'HWTU QHR9,0K5ELNSA$9H5=HTW2B-528,'"(I A;T0E%L"P5JI 3!N M*C=N/GRWM< P?6S\W!:SMORF2I&YW9*'2L"S:&TA5%,*GVZ/R!UUE$'XK)N. M'#U\*Z;CS>:1X%]=6 CQ)>.=>]X[SV:K&(&O_THD-@ J-H&*-;.DJA-F475D MI$42#:19??F@34TUG'R%&6-%.@2)3%E;!,>LBW8+H\U=I7$HGC1ORG8N=?J! MEHI_T:PP,B6Y6*+, MTNLK'ST=1':[ ZSQKVOR$DO_<-N@_ERO:G_L7FNO2(H'_ MHL6NEN6XU)WUME:5N3KJT5E_+*F#]_6UVHRHRCM0)T@K,9"6.[+24>6J(#WH M2V,:3"XFI&MED7/5:%'7_QMXOOGT%JOF'J:.ZW=\[,Y8"4T<1FUX:V? 6Z[M M=G= 0/F@YE5YWY;T7Z4 B!9IN:2"TI>4OBJJ5( .U +-O;S:CBN:>T=GLBSU M1UU1T0RKMF2MM[&%%FJ]\[!^MX=X ;9Q_-U\[4-$A73A;('1+,2".Z@TP?/F-KR50_'-$? MCGNCY0]9FQOQ9(C*=(F]@/]73>)U\^KOQ>@OE]B M^@;[ARCP45<:R+!2K5$'!(3S(*\"+P+.W;ZP<&[O*G5S07IMOY!OC@N:JW:L M/LZKN98T)QR>B[7E'M%40U%9&SI0!_A2D.;35(?#5Y5D<;<$8&VYT$RZ,\/( MUU[Q^L(1]%3=&#WWIF"(@$<*@)55FHOCAP-PC-:H P*"./.O1@&PWA,(&\PQ(\ZOLC]HHE=NH#3,7WIM)C8B6+ MI;(.8^V0=KDW-2,X7X9H/K<-EJLTC*(_Q)DDR]*PKU0I_(1 (/ Y\#E//L^] MW5L(GX?;OKU^I=N^XIX&%6/%7]T9ALV=977 [*='Q]>LBDRE$N5CU2+KW;G8 MW7(E_Z;JX9;"6)'4?C7.Z9A9$@8A[05C_BW1P\$X4J7>N!J[=0\8:[E@YQ[" M1!?@SIP,ZHTMO.FYDSE-B,K"D\#5+(*9G,5+-\R_;@U1<&=IMD_,VHF"T&N2U\Y496GI(SA=$2-.B @G'.'6/"'J P.':@%F'/'5? '\ZCV+D*Q5ECEGNE;;()92\-480J25+QW=';;9A1SK$4MM:>!MWE95".*#/NT16[BBB M4%KE,C[&W8$T5JM91ATPC>5K;^"/RODC=VC2(?RAC*3^2)!3B/GXHS!7Q(8F MW<<1AS^QH]08SV8*Z0B81:G,(E:F\JNI34R+!6&P@Z7>5'/QU+$(\KV_LV.F M_AM4E>7=N #U2(&*3:!BK3S?(E25M5;R#D1:G9FA34TUG'RULM<*3"2]K#XT MU]X@@W2]RF_V#R[/X(SJ75J ,"8CIWQ&1!F%:E8;?NZBS=R@OIEN:187^Y^L>_>YW/5]_).V8= MUWCN^%/R1NP:S@QW=,LD<]EQL><$KHZ]SH7GW4=?.E-_9G4LT\;7/IYU7I27 M#AT#G;$F*$MKR]?.JB> UJR;A,D=Q1CA8$VR+/*1KUW*:S3WQ#U,!!VH ZX' MN8/X"L)UF&5_7/OBZHU?#"[V5IRM,]_[]EJ$8<:BPJ&SA4&7)Q+>]VR77,B? M;VOCS.Q"%KP=9$Y+PV'5#DX!PML!WOS@G3\'%W]XJY)2^2F[W72%O;I-G?>T M<68<-%XC1$+N9%WKIVXYZ;O>J&KO$>B[1H$[=^(NON FJ[M^M074>.FZQJ_O M-@JL8FC?=YJ).$[@(=C4%"+G?<>A:3QF+7P#4H/ADDNS)'0O$(U""+ 8&76E8 M40*'F)D2!B7M!63N0!Y.D3O]GC0:5Y,J: \@6[@N7:^( -N,#0HZR)\2+'[W MY=#2"%)O"!&H->J >) >YD^&51"D2:=$A70+MQ/751GL'C:&ZW-'R<1NJ^SG M>5$].'6"4>4=$!#'N<-A6SQWN M\CF"P'+?8_X4.U +1N6-:P0.IJU9M!A>%$6"I5K%4_@)\?%FJ M+PV[57M%^6"$ZS(4HEVX1[M E(LX005#'E$N^5*;$QU>T2( PEM$1"*/\)9\ M/M5N5^J.QB)"L;"UZ(:.$#)GO3 =J957N\J,T@^QF?(AI70SQL^?YCOZ[A'XZ]>::O>A@Q\-ZQWSM3$W#P/9)9,^,%#)- M*1XC!DCW8[&Z9[;$SF<)X0U?4K_?I70)\LOZ1V) _8SVZ++/+,JQ6*UXCC.(B"5.M M5IH11P1K51%Q&!?;EFJMVE0;3&\U^X\QFCIW%/ABGLP_&O.V#<3K[8$SM@WYQ!L(XG8$P)@:",I1492 - M^]N]H,VF>4S1N%IMN1>Z$%R1.RSQQ:IDNGB*;<]\PM1>\T@=Y)$Y)9_H&E3J*E5+G_P4^!FX M#;B-VACF-9Q%\%A/R5S+ M&)Q-,*_C<8GCK4<6G7C'"1W6RY.0%2J7H.]B5SCD)A]TXPYNIC)2F'\PPM@E M0UBNU<]([DJCGB#Y6"O##O!?6_DO[N1B*K.%%_\I(ZDWKJ;V8E7\5RN7AI & MQG;)VP4D: MCKL#::Q6LW59*HPRFR/ G6WDSK@T[EE/LW/D3F*K]$>"9%LHBSM#8^78GSC& M&_U&J_2=H;\@HEH-\R7\%!OP/_RH;$?ZZYC0TBV"C^=A1Z;N=D]4=NQ@.>*3 M196@"SI?RWD@1'XF+R5$Q6L'32G33#'EE,C"BY_D6.MM!7!T+-@DQ76DZ"X\ M3C'2=+IAI=EO]'"#[?C4=G/)9<+RI+EGET4XNCX]&^!/L8I=\LF%&>FB]W'GF"J97,(3"X?BW9=/_SQZ)X@IJ-XSNV MWG?U>+]\8=RHUAJ)?K_Q@NE3QW5^+.YLW]*Q9:&[+S??O^ULXYUDVIC*K4DD M\Q.VA9"R:'4I-C8^KW]<O!4[[V!9 M98UE_]IE_\5Q:W1KP:=;4_[;Y_@I#P^W'S[AC[<77TW[]V4;ANG-+8W,I&E3 MAW)G8A'5M8EAUO3RI>A40U.7JL&_$BUWM+%2^Q'-A$DT)>&N;9WH MGKT=RVPPQ*HAZML-%9X4'XM/[CCB^D0R-GI?^]6BP MWQ+/U6)<'H($\VK;H%^]BKUIPW:TJ2/%^F6MKU%7([@OYG'KHD2#%.C_'L+/IK75P!H6M-Z!NR\*F*SI6GX"@#B+&; M_2*@,_66MO@@WDAO42B YPK@/,$,-.]=:'@"^@0"QTR MH /0 ;(#T%%[V<'=,-H"1;N^5AXQFQPCVU=RQL@F>4N7.[$17Z2L&T#X8W/; MYG:.78W&)WDG]?2."?E&,LV+ET[>!7Z)U=4ZO!&F$Z93W#?&3*> #@]>U6OO M\0NV \PKAT3ZCG(+QD[?9%*@]/BP..GT'=@1]:QL98@QHC,)PTY7SI "B1'S MRG5F-.J*-O-_IC^]"#Q"<.Q>V[H5T'Z=>QXF_QLY3Y:?R8HL#95"JL@*#2# M["9F>S&8E5>8E<7";%]2>X7$\0L-(,#L)F;[\7)6%E'.JD-%&HY!SK8=LX-X M.2N+*&?504_JRX7D5L@'(!'=2 L/<&2;OZZN+ ^#K%U;>&BW,NAD-_8O'(^= MM'%+-/KGK^R/_+[W)7#Y81-\X Y!T1*DI,'M$DQ##HL6"LK;IR^.8[!3F]A] M,77L/3B6D4O^#$9%522NG!+EJ$5@V 8S[(C#BHTSPPZ[4EQC'JET.BW7.'"N/AY*B%I(!MG)2 M"!^87'V4R!?7\3PT=YTGTR]NS5^H\"I=GL2 M !7:>!*" _(9 D?#BYB^@[+\@?O 9> 6U$BV*=1T++]C/#K'-L>CB]I)%:8 M(+P1W@AOA#=6_48!?1Y%%L3[IKF_8Z8K6 IX8@]PJW\G='Q2->[4#$%*:ER0 M4E87R .V+!J#9!M+.E^&)D'.G0JI/RYKU5H3K+05GG&A*EF]*+SA*4L]!2*2 MJVY2"'C&!69D=<1PAN= D91B"E_7%RMMA6=<&$)65PYO>,K2N)@:;HV+,R[" M$+_''M9EX54N; M% *A<;OWV<\%\D:HJDJCOD#KQI9YR+]@&].R6M0NUXR9:9N>3[=77]J1Y$-\ MKHT+B\@<*Q@2F3#M^0:)#[)]!E)O6'*0L.B :2M&X[(D9(XY+ :CZ@ 2(E3= MI! 83=APS!:[R!NCO:.SWE@:#KN 4<#HH)>PZY@M!+( .=KK2?)(H%6DP,[S MF_83]]U2+TX+4ZD!21Y!G!_@5^#6&7Q/"$5(MU$&M-B)5 MQ^;IS;$0AR,W^Z0,WSD(PFX^.KYF(2?=.4J^T-E9Q(IKBX+*L'=G?KG(HX3@ MDTR;A-M2R,OG*AQ*_6%EJ1]$L@$ Z\5@/2&,)=-F(R>LCR1U7-86.&"]A5A/ M"/[(M&G)!^LR$>S#TJ*Q >PM!'M"%$FFW4].8%?'TGA4+\DNX)YH]0NBH[-K M6W=F&#VYSFRQXG'L E/AX>2%W($M8\B/$XF,\/ M8F.E,B4!$"L*8CP.U_."F#R6Y)X@^>@ 8_PPQN.$/"^,*4-)&0N2"5A$1W\E MD7U'9[?^%+O(#.W7#Q:A[L\2LG$Y1^9A][+FNY-X[M;$JA M T(.D$=FFGPB$JF9\7P_ ]<"U^9UCPUXI$#@S[1GLEKRP0 1< 8<"QR;0L_R MR E1I)Y5E6;6Y0)%"VQ[ -OR2)3!FVU[:VS;*_FX:+E<"QM9NS:R)IC@!2_< M K[V6F387IM== ,>B3=6GKDKUYE=D->9=D!XY7:Y$_F)T3-\[I%2\_+5=S7" M,::MN6_7/IYY1(K0CK@.2XAY3;KD8B]??9.!U%6A+E/CH,HC_X9H4!U*W4%9 MUBE M32H\DC#(1I4Y9$T4LKR@@!62\,JCW0B"S M'I*PHQAF511( P#,"LSZGEF'AZ3M*()9B6W?T!T]8%9@U@.9]9"<'=R9M7=T MUI>&XV9NY,&QM+V[>3?8CU;Y)2;=4 L797N/,I(N(,,))A;>!LU/XIQ>3>[D M+OG"(P<'@<6!P?RJ-.Z7E?'\@(DL\Y@VP+Y(V/-(QW$X['O2J+3BHP![@/V0 M1V:.PV$OR]*@6]DN.>"^?;CGD:3C<-S36NB#RG8Q\^&>^V[G%L;;]176E7O6 ME6B.R>1,-1>?Q"XQ^8=MP!OAC?!&>&.=WRAB2)+PB8:CLD.?-,_4P9W9$$,_ M+OAQGSOS#KL/U.+8-O@O-=@L8H3Q&B(NRXK7>.I 1AC73"!!^ N$G MA8>?,,;R4.!A _D.X=W9G/ 8S5H.42GP1G@CO!'>V)"HE-6IV;53@ED3WVR5 MIRXWD&2[Z^6<,4[?9&&'<;=[L2M"8K:"MS,A>(J!.Y05B5%*:O,5TU0 MU%;@9BX_5Z7$E16IVP>)6W630@ WY0[4IRMZQ$ M%37!45NAF[DZ6+525U$(?$LNS"DZCMH*WRQO)K"]> M.GDG8,3J:AW>"-,)TRGN&V.FDZMJ1[JE><20^7+UCW_W.I^OOI-WS#JN\=SQ MI^2-V#6(0._HEHE)SXBQY 2NCKW.A>?=1U\Z4W]F=2S3QK204.=%>>E0\X2: M/S7P$F[JKRB"[(-%]5\F=&!7F=QQ7"JXK EO-R@<&B@WV+]]>M1> M#RMM/9#&2L46?^%5J &>N^ 9%[F2-3%M8?#L=TLNJ@+@% J<"=EU,J6/+0R< M\D@:=$%X-AR?N^"9D/4F4Y97SO"DN8Y[5:OT]VZG8W_B&&_TFS:Q\!GZ"R)6 MJ6&^A)^V3.!U4S1AUWS:MC6/$Z0' MKDN,[@NZ.EF>+2+S_HRIQ\G&OZ#%E':[9%*G.*P8PHKDK"UIEL>.4/R29W4L M"1T+,CF,9-&(F5=9QY8547[YW9MK^N+[%L38?&RL6]C$\NLO[27I)D,8^TR^ MN-$G%(-YUJ'MM219=OT2LQR+F6X=T\JR/ ?P.,5(T^DQ(,U^([-( .63]V@N MN4PD#FGNV=4LPFUNZ(N<8@]3RA]7B[]H M5A@OAK-UO)JN#::L'&U$*"S6\W=?/OTS'DWO#_M%5Y9U>OP%+#;>=_5XOWQA M'$G7&CE:3-K:"Z9/'=?Y<;2$UN8MR@;H[LO-]V\[VXCW7B^F?3_>7Y/SOG5X^7]R=(LWYH;]Y*KNV07:V=IX1"G9S=Z\O>M3OQ]'\^BG;(ACJ-#$(?71=/] MH-Z*5F^G$UJXVW?05VU"GB-&[L?-K;1WZJF&([Q85\48MKE< " M8;?)MA!2665II,R)^3;UTXLYEC$^%/+,[38SP[B_[B'C6R1L\#"]H6 MC"FE/$RM=T<0J)Q'6\B:50(0RJ5P&2_G#)FHP>'?=C/QHB^,8(6,MJ#H$F#( M_0RIZ\$LL)B)?NN3J\"7PO#E0$2^%#&C2&66(F"K5C(?R%4K1EY[[&OF38]T0[T;2)]-Z)9&D=D4*E@73=)@*3S'8HH9\)3KX4) MF!P3 U@1%2OG;/,1L )826&_:'/3+]!?#V!I$%@6I1( +8"6_6BA^00 *8"4 M_4AY= 16084MVE*LO/;#-_43@U):J4\_AM /(?N1 Q]<$_W4(K?"FNC@DV>! M2>A/FJ79.D::CSYC'=.L6TB5R7QU%3E1,#?M_.4^<)9R"',+A-O)FF;Q0*R M4,!O##K[LKRM_8!?2K?>H"^->Y!(L^HFRV*4G6 >%0+FF"/-[,'HO$/XOEPG MF96*3L,JP24_V>6'= M9M/S FP@<@&_8EO,?8B8WU;!496FO$)V0DSB;E#O6MO)=W_]*L M +-[MZ$JO8RTJW&8B=\;*&#?MP#S(.T$:Q(HW]8F2[-P=NJY_26BU73K^_;I M*@&+116^_!^SI3XC:F="%UQ(7UMQD;4^_8QAI0[+E[8V"91O:Y,B[)^J<46, MRURWGAO_#3R?I?5\=!+>P]QUDVUWW3TF7?%,'S]@]\74<6A$W&/=>;;96Y@] MD2_"0%+'4.2[ZB9AJ=/6)H'R;6U2A!TKM<=AC0MZK9[[X>]WJC?35U1=7#FN M@^\WW&E2H'G@ZE,"+I8N78\VV\,TND6MM@N5)Z5+CG?''W=+#2X[0/GVN5?$ M-LYM(BI\TXW;]D[:X/X3NXZA>=/MO>V5"ZU3DM"(F?+J$-4 N%9CWK2'BOP- M5: B4!&H"%1L*Q5;K!?;NS]X@WU" GI< 78"83^HK4T"Y=O:)/B[V]JD"'O MO73^[@*.TQ*]'YY2I'G<IAZFO@&ROHV[%E$&DRO'Q:3W2 ]<%]OZ&_)=S?:L\&B3M@P A#T- M\&RWM4F@?%N;!)]@6YL$RK>U22%2\?05+D<:^:363/HM]3)'YN-%9#T^4N,Q M',ZY;3RN3,G549(;[-\^/6JO!^9#D,9#,3(BB(#9)AM%.]DD75X^@'?A"3\: ME>\S6AK3B+[ =C$9PY_80,^::7OH ]T@P=[/-,NG:;_@Z'P<^8P\3!;1IF]B MR-H):Z;6-@F4;VN3L&9J:Y- ^;8V*<9J.5U"OVI7R]^7EN1OCD5'^(78DW2- M<6L_+ W'<]?TR*WU8\]\%A3]JM-[-W&U/']=:Y1^25="MT(#*G>/=[+?N,!5 M>/O8)C>-!$[1V92@R8N86,D:Q4ERJP;/5SYEZQ:+$-EA""YZ'&,-BC!U@(W" ML9&LJ@9<4D5F+'L:H]7BM-.K9Y[8ID4FT TP&<4^O2,"K0',!79KN _,?#8) M\^<]!6 #L L!-I=R6WD.Y?7AXAH: MI$LHR06OV;T[:FF%5?//;CW",*KWX)!!3[YF4T=L M[D*JO;$J#09R28(EY90W*?G>(<#[J>[<,2R$.XJK7ZZ,@!'JQ @E)"#EPPBC MW(QP:(':PYFB-U2DWJ@LVQ,XHUV<,<[-&7D\9IQ80AW)TD@9 TL 2^3LY"XW MQ+";7UOP\;GQ89.5ZT)1)+5;5J:N ZA23-A7[3BE+NN+H9S,**7H@9&J2%VU M+&!ST@,B1EP5?4:*!43%A$VQ&"E6IHEY5)#)2F0C5B651"M)D!K\NF97=A."$W(ANU#G6H\<+[3L)0E MN5^6+[HFZ&LKX!-B$K(!/K>O#"1ZDYL4 N )N>0S2G2.CB_ ?).;%,)"'Z;" M/%@B[\@I>&19@17[&$D[K'8]*X*P\!<@_$H_EU/'[]UISYB.MI?A(=V#6$T* M(>H3CIL7ZHQ9)7CS'IV$Q2[S/DZVO8_WF#3OF3Y^P.Z+J>-0I]QCW7FVV5N8 M>@&KIVY-BF#IC[H5^VZJ8HO=X5525RTK_K8F8&TK?R0<]R[>U0/Z0FAPMI4? MN.S96KBY&Z;9ZQ81VGZ<>SP/7'U*2._1B"<]BI>B M2U$(;1(BK_R(RYYXOMBF%3J,>*9]J([C^FV"HL'&Z[J)H5("#SBLP-^8$S385C?LX"6G=JXMC NNEX4V*L?I,M\%=K83N2XI:UG%M MJ% 6[TBB!30,OF-#ELQ2C;T230LCE- BV;TZ2X^K*-^Y)1"M KQ\6D]T@/7!?; M^AOR727I"Z>2&Y<1&+CD4J- ML-OGMO&XDB&K\U7["L&!DU+4)H5PNG-))7+ ]BJC;KK0,Z78R]GVDY&=-^P5&.#?(9>5@/ M7&*&8R@/ UZEUC8I@%=IU"T\>48&1?)]*4)^N:);5J$#&Z R2CV:?KFX XX6&@.'@K%P7PB-_)[78&;@9N!FWEQ,Y?41'F< MQL#&P,; QKS8F$MV)DXN;^#L=)Y=CB[";)S-M7T19K(P'WE)@]OE3I?3!?IP M8![_F:30>9 MKP:8,I3Z7562N]TZ"\>%,'=2B8:I8Y$N>^'[\J4X' $? M Q_GXN/"@N)$X.-A;CX^8 N !T_WCLYZP[XT[(&"!L8&QG['V*/H)I&0C7UZ)_K9#].?3K%E4+0A7WM%SH3, M$DM! CDGA,@\H"0$ Y7&Y+C EST[-%K!JKU@SVANY[]_8E68*7-$+.$ 2:? MYUZ5);E?LE- =-RU%>H)T7'\H)ZDA-\#G1419O=N0QEZ&8E5 XY)UZU)$=(% M* DA8]FP?:@3%W#>Y":%P'E"_%0VG.?V:0+ F]RD$ !/2(.449!S]/ !YIO< MI!"&>4*NHRW, U8+*8F)=$OSR!B_7/WCW[W.YZOOY!VSCFL\=_PI>2-V#2(M M.KIE$NG2(:MS)W!U3-9!GGE,_9G5L8A&O28RJ?.BO'2TR)*LBQ\LS!G! M<-*94,\#J[FY<#T@_$H_8W!909K4MC8IA*)(2$94J =GE2O;>W025LC,8SG9 M]EC>8]*\9_KX ;LOIHY#C72/=>?99F]ARJG&>JBE30JQ3D@HPU.:PZWM$D1^$--2$U3O*,(](70X&PK/W#9Y^7D5P(6$1JO+5U=J.GV MA\6$=IW,HC8&6H4.IGL\#UQ]2DCOT2@I/8JQHDM1\"T)4:)+Y;*1GB\>:H4. MX]PFG.^;;EQX5,XCS%UZAKGB2*@F)@H7$."[\,UE SU/$-1>=.Q>\$XK^5!<%!=9+PYL48_69;H.[6@D]E(B5)82$ACBH8MQ4M)"T MR>0C>*4@XJFM38K@KNEQV<;.Z*XA[!]:1[04&^REU:U)$0SX'I_MYOQNF$0, M9TU4WBKHM!6M7$X&Y_&FI!*UNY-D2>.^#"@&%(]Z?,X \W&:@ U1ZR:%L'W3 M;56V3,!R#9YII\_CZ(Q)-G;$JX(2P2FXL)9-#EHQRG8T";1L3I/#5HRR'4T" M+9O3)-"R.4V*JR]K4O&,ZRYFE,+TRG$QZ3W2 ]?%MOZ&?%>S/2M,Z: M#VK M'B?L<;:U22'\/%R.LF?4W MP=$I:I,B..[[56^6 C,(B,RV,@.77:P\>[' !0)"LLE!R>*0 OQ*P0]N:%((= MN+A9>7J6@ _:UJ00OJ4!E^,N!?N6BN*-=*OO_JCD@K=M<"WM*],KSU^1YUBF ML:M*;ZF+C=P]WLE^Z78X@&T*IA$DD5CYS@ZKMYW=UQ9="]\7)IVXJ.8T!D$' M_2._'U,)@7M\RYQGE)]\A>;[0,B2!K?#^[<8=XP+L#ED!(8 AMADB!VF!Y== MY8Q.T1@K)<[:R)J8H3FX PX6FH.'0G$PE\2?!_AT@9N!FX&;>7$SESRG>5S2 MP,; QL#&O-B82UU23@YUX.QT?F..#LALG,VU?1%FLC /?$F#V^FL3Q=&Q(4E ML_O;!])8Z97K<2^))D6$GH)S/EUVI-/)V2?-TFP=(\U'#WCN,[6#5$(<"OG3 MX\E9*>&MD615&R!9R1B0X003"S=1M":/;H=H'6Z%IYD%UE=;^T%81.TV\#U? ML^D@<]93&TJJ,I"&_9*+\0@!2^#P+%/Y4QN96RZ$N9/*74P=BW39"]^7*\VC M4G+D O!Q[:8RB8\+"^H3@8^5W'Q\P"8#)Y[N#8>27';E8V#LVDUE*QE;SMKQ2HA=EI"'7?/I_>A7_9F'S2W:1:>L-]&XF/-2QY853_ZLFLO M)5681>HWRC$O)",CDTWTUF YL>L"2"NLR $"JY4.E[,QV49% M"+]X\83G>X%YELRS6JDAME0#'BJ,AP:B\% Y&=@$,Z@ 'Y7*6)A^4''5J#BZ M7=BYMFNKV%I,NL76$-"N?K3;\/G7EH"@ML"J%('!<[B"Y#0=B1\9=G9 7M1L&C(YA:*&Q!DV*%LA^: MJ9\8E-)*??HQA'X(V8\<^&A"LM6,#HT$89WB-1L"&T42>Z%!=N97W3[#_1GK MT1%NF1WA[F8^PKVWMUFC2@]]89H SQSJ>&?@Y3@NP+K;D96.*M?@Q/) &@[) MGW'^P,U<$UHN+IH!M+@(W\.!5N#IV?R'[-J(J33'4+AC:I ;4]6?Y%1&/6G4 MRW]$&T!6$LB&N4%6Y:G"@2*-NS*@2P1T[3KA-A[EEV'BG'#KK9UP4Z6>DC^# M3*X)3GWP3#C,56**C9,A5XIP&O1ZDMJOT&87)4Q@HYNL/F_U"^VX3FTHL MBYO0XRT>6\DAT_,";-#RP?@5N[KI8>0\(6=.Z>HALL9##A51$K*Q3^]$/_MA M^M,IM@R*'>1KK\B9D+EEU:>SE1L&QE9ZXVY<=4RYTY6CS([D7[6 =3U[])H! M8+W^4KC&9W]_TCQLT&:(;F+$S;?<[XVD<3]_IH0VVC3%P9!7A>HV4J4*2W/< MC:N1F%DZ'+IP?B\G_J59 6;W;D-U<1EI$.,P.U09@Q5:-1Y!2@!5&D:5PC3J M3MD=5^7JO>P&^)%V MOB*HEV]I-AJHTG@,:S/AT1=7GHDK^C(JGECH97$FPAZ'&#;E#LS%U1(29>%Y M./X& VG8A7U +\_L>L8FC?=1EY'!,QE?&_%QUSS 6T] M2'4'PF0N[G>>N[H907=0 34>I*J- *O"=)/E@GT G%3A&/9UZ[ST9PCI3.B. M'8';:LL.X5?Z&<.*'WRJ0)4V4*4**UWN5;Q6/#?^&W@^?;/WZ"2\ASG-)MLQ M#??99F]A2C:/3_VL+PW*#JD#[()$ :JT@BJ5+&;2 M^:%!5A>T!(+=SQU+H'L\#UQ]2D#CT5A5/=H,#1.YP^HG(Z=S\?[GV^]<$=(X MMPE[^Z8;M_V9M.49YWBENYVK& @5V-@XW MZV^P3PA(-U#!BA<<[D 5H HH;* *1S^$PB7R-4_\%]$[8=P.S3&:+YN'-)05 M<#4(@3#@>Q%UY Z^3Q?WV7 6+C)+Y?5-SBR5V&*"MC,E,+ H%+#1UK7)J7G& MHCU9R-4RW!-9+"NU6=>2-=Q";W?D915_%F!:Z_%"OH'B=9T%F-9ZO+"6TPJ6 M*N=A@-^8EVVF#)-LLRO'Q60:D!ZX+K;U-^2[FNU9852\MHQ! J>NA!:/SA:R$:0Q/8 M+B:3\2+S=<0"OI:AI7H[M3=VX7@Z3+E _ /I@(L%7% M/6_SN^@A 2.'#BR*SG,3/%M76,#,#H-GTJ*0):'T3K'5J"2ZJBC*F4 M8Q1*G&(H.),C@+-J<.[+1=KCLP.2/X\6 !6 F@JH7,HAY#F6 P@%A*9"*)># M8YS<)0T#K3A^NF8X-7;M*/?2)6+B@K_LV\**-![TA/11"+9[7+DO@G1^3UY-[MXO6X$M\% M95I;^T&83NTV\#U?LZEO,U\Q*64H#49C:=@KTFF96#[#EW, ^M%S6X2#O]0?2: 0B M')">!NE*;J3G+LEU.,35P4 :R"I '"">8@'>5_-+E[KC2 MR()D2@A\WJ!U]GDO&?BER.F1K$H]MWBZZ+3T9J19I-;5"9*R,8^O1/][(?I3Z?8"NN6^]HKMB9 M%LZ'$=:F:VVR"HONR]0,'[F0T/(NGD_8@.ZMO,V#CMHMM-=,$[8H%;RZ0EGJ86 M>(H;0! MJT\)G3T:K:)'L2YT&0<^E.(=G5RV2O/%I:PH;YS;A(5]TXT+4\D7D"+WI&ZW M"_NB-<3K+KARV1+-$XNR%ZQY3*25\QYLI7JO$7;*6#X[H@>&HQP&X-WI]'IC M$+1-1.XPW39H41$H14)6Z@X@:JJVH-V%V81TOM7%GX#I4.-F*EN9#=-MBE8H M1GM4C"IR=8NL%H:=T((C)A,_X!R! ).Z-5.5VV#(92\RH]N L.JJO!3LG8C4 M3+4&*I\]P_SN "FL,U4"TPN!_WRK/93(7+W>EZ1QG(?L-E8;/(YTL=G50\" M5-AF*K,PTVU,M4$,MC"&X=0\8_*$G019%9Q9+-3-^!2PW,?#+WOY06T5J20V MJI%4/]2FM@4DK'U;99!P*,90F]H6D+#V;;6(A+">J,$ 6[5EQC+J'9U=.2XF MW49ZX+K8UM^0[VJV9X7'M;5E)#ILJ,&&6MV:J(29)-Q0RW)94>])1&/ M7T0L_D@Y/.SVN6T\KOA]=?!D7YT>\-^USLD\XI*'X("=.4!X\YNI%N%<,A'D MV>(#:#>_F6JAS27&A],.8;EHWQFBJ4A=M8(031'PV'0C/%T@$2 5]BYWN4=H M2'%@NYAT_D]LH&>BVCWTP2+TQ][/M,R :;_@Z+ ^^8P\K =D/6]B*!L 'I/: M-5.9L"[\H'T&X?Y]R>Z_.18=R!?"]%3BW]H/2^X^=TV/W%H_* )FMXC-5&MV MI&:JQ3B7 _P\O28 [B8U4^TA_S&70_X%.TZ* GRZU.J-R6\Q M?V5_Y/<(*8@/%NO1U]45ANZM:XL"@-N+W:TZ@J3?R',LT]BNMEB>R5_2@'8R M;+K-5V"T2BDHYAGU P?/.W#^(C9>GF^L?+S$*RQ.L!1XE1EY6.J 6%#X#H?8 M8JPQ7K$:C*Z8H%0 >.T OD.Y<]FAS^@GC+$#XO3YJV>>V*9%IMX-,!G%/E5= M W( 1[:>(X?[.))/8$%^#R=P)W G<&<2=W+)II+'-PML"6P);)G$EEQRR7!R M*@.G%K3% >[D6C#M;DY-%YC"A<,R9!271N-!8WS! H<85N<0)IV?G'W2+,W6 M,=)\](_ QD@E4T9!=WH\B4^:PE%LJ3456Z3?R'""B86;(K>21[1+<&U%'ID% MUJM9^T%8E.8V\#U?L^D@\]6G48;2<$"ST*MUDW(YX0<<&S=E/[6%6<>%,&M2 MRO.I8Y$N>^'[E',M-'L<>OV-5- M#],*Z,Z<4M]#FDUN464@(1O[]$[TLQ^F/YUBRZ (0[[VBIP)F266B2';D?QL MLY8P4]FD7/%-IA%/7'K![=A^(\G0:,KO4"8)X4C#U6[JN!B7YS43)N_*.K)[ MMZ%(N8RDC%'>\<]& JV")M,LE@K'=D),3S9L'^HV!)PWN4DA<)X0$9,-Y[F] M;@#P)CTR:]TP?/V#WQ=1QJ#/NL>X\V^PM3'W46%.TM$D1+'DYH6)%:2Z9 MJMAB=UR8-![F#]]L)%C;RA\)V32*=^6 OA :G&WEAX1<%I5X?H!%A,9K6U<7 MZ79PQ81VGSP/7'U*2._1L!X]"@JB2U'P+94F W:%\LI<*4 M]J([C^FVBE@'&Z[J)DM;YNR4WWQVN \,53H,Z[L3I$B#8?Z3&2#%&P+S=)O: M144J%8GOKB3W90!X"P"^ ]]*0FF2Z@*5P'QI>)-"+#^5=#O<%8MH61HI^7.T M\131[8U5HL5;=Y3- -:%J*06-"F"2T7ALM67=F16K$G3S1(M17%?,[7\O%V@%2N=9-" M6,3I-AE;)F"YAKT@W=(\,LXO5__X=Z_S^>H[><>LXQK/'7]*WHA=@\Q<1[=, M(AXZ+O:>6YCZ^8(CF9VRJRKOA&3D]T@/7Q;;^AGQ7LSTKS+.@+4]/P*8F;&JVM4D17#@JEP"LC)N:26Y+Z@&* MY,9%)#8>J=0(NWUN&X\K&;(Z@+6O#B'X,$5M4@2?O,HEU\@!NZ/ # (BLZW, MP"7;2)YM5N " 2'99"[8%9VK4<<4'S=M]=D.(('8U M76 9P+OPN/=&I5"('$@T\#VP74S&\"U@.7&.$82J2 3ZFU30KA4RH\MT8&/?)]*4)^Y:*XHUTB^\>9+WAWN2^2J_R_!5YCF4:F:JA%[G6R-WC7=S72[?9#5Q3 M+(F*R.E0T3F)7'-W8)5FOLW,PE)U(>AS2P,; Q ML#$O-N:2%HJ3.QTX.^>15=Y,7DK[I4QJ50[XD@:WTU>?+HB("TOFB!#MEAP? M6A)%! X[K=QY3@8R.?ND69JM8Z3YZ '/?:86D$JFCT+R]'@2GWNH(,FG-D#R MD3$@PPDF%FZBZ$L>W2[1MQ4\9A98D&SM!V'5L=O ]WS-IH/,5X!,&4J#KBH- M>N,Z2\B%,'=2>8BI8Y$N>^'[[A^=]08]:=SM F,#8P-C;S%VOYN;L7/7V3M<2ZM#M?QZ M>L#1M9O*QG+T+E]B7\ZOJSF6%CR8RU?^1UF5>OV&&N:%!^"WFM&;O+;N*\E\ M7HH6'BD]::"T0 N'&P3'_L0QWN@WC3Q_AOZ"T.FQ8;Z$G[9\ZR?TY$O:T4IA M_E4)>=@UG]Z-?=69>=C6U-UN3)W[Z^,[B1*1^A=T_V(Y:D*[9_).0BN\VL'L M=@E=ICB<0[:[N+;IL=KPC-\464T8.DZ:AV7*BX@'*6FXSTFZR<#$/I,O;O0)Q; -Z]#V;A/A M@K@MG9CIULD8L,MS (]3C#2=%J/0[#4+$D/ PE51L#X[:%NC)M#5;-\E#WL(>\3ZN]I*B66%L%\[6\6JZ-OBO'E_@C3KA_;FK>3:#MFEK,FNOW;9?W%B*[JU$%A;4_[; MY_@I#V%T^(0_WEY\->W?EVT8IC>WM#=ZG(0>QNI,+**:8Q"\?"DZU=#4I8K] MKT2++]_#J/(CF@F3Z'["7 OBT2>V+[YHKJG9[Y]-(G1ZGB'R@4E@POD7U#HA MK'UZK)VEA4.<2MWHR=^W.O'W?3R+=LJ&.(X.01Q>WZOF*U%O*77:1B>K57!9 M8R)2-I.L,7DU))3J/9V0#]&RPTTC)TR!1=<>9=7Y+G[I *2>_> M0H9 9M7^]6BP?X66OI#/N\7HAA!9?]GVNU:O8F_:6$?8U&EH_;+6OZA[$7R7 MG'KHD(#"BT_;LKX0PU$-FOYQ21@T'5NHX;/'QMQ'] MS!U[NJSGR*+.)3N MWY)AE^(UFZ[<"'L+!MB9&HMA\':.70&5N\:++[ MX&K-!E;8] ABHVRJA*CB0A5<%]L16OK!9+%5F4[3Y:9K_AJP,4O'I, ;6>%2 MW#:FQ1T1,8.XC)=*IRM'IVB5-,$QA!RKFBRYXF)DF9X)RQT6DVM6.).ZA=A) MJ(PH9SF!?3AV%%GJ#93JL".*@22TQ%Y58/*0[R 7$^#HIH61O13E]#K]IM-M MH;GKO)@&-M#D#3DQ-M<)&%SPEGI[*M<"COG5QE*&;+B?\9RPF!D54[<-I,T< MTOT_V862,A!LA9'&E?#BK3$39G1W,WQ49T+3N]1G7,+ K*;7.J')9PM'Q>_. MU^B=3ZN.I?$H?Z!R0;1J5C.5(2\AN5TFPZTPY*E=25$K1IXH-EV!*H*=:.A, M- ]3K_)LCFTO5!?XE7[FO+(&/HSCP[CL=%DU ,O*\HF2\6*-BOE6X:JDJOGK M1-0;!$W'6D*ZM$PRGR?6^E)?S9\!J$PI7^^%P!-V72+B?>TU8^%;X+/$IG>= M)1[$57;,;M:'9 M=8X_:ZV6HE#]A&S^9?G:.ZZV=#1Y)8R5_:H_PD$84":8@\P X2F@9S MHF;T_@ KYK*UXHHX9E4!GP+/M+'G$4MK8MJ,=!=+DEZL4_3<=35RE3G7+Z;T MX[5-5N&![=\^)?SDJZE-3,OTW^3RZI36&TM-@.PN[3%,*'V827M4C-ET6F@D M]>4BMYJYZ*$ZKSFN9W.BB<*]/A>SU#AT;T^W'"]PF6[ZAS;7;#2)T (:J7"- M-(S;JL^\*#&]N>-IUA<"U_F-XY/OH9$18".*BW-805-:V/36_C_7]/%GYT?. M_0=IU"MR4U]DE#0=C FU[K(M5#B#45![A^NRI:(:N)4J(TI^1/!G1'BAZF?N MTI 2_XWMC.,_ G-.E16HH1*L3!Y[WFMULPDGWS[=1>2\L[0P21\C9SZOM"0/ M>^ :JR/L=J&.QW[W8:A+4"^K54D]](S0M=8KU3,L^2>HD()Y>4"6[APTR+FN MNV&\REJPRNT3LR$#FMG5-NY^7Q,P7 M;"R-N]4%)0#HB@)=7!!65J.L,- I?6D@5Q!GVX)0F$C64R/9]AW7A)C'4M@M M+O3L7CON5Q!<"[YGK/V6;BA;0H';SG"Y#R/DB2; M].UMJA_@[,4U7QJ\;=)NKCR M'/D=(AR&NO$H>W=GH>:GYO0HH<,Q%O5V!>56K.VP&O?[$&[I0TXB^,*.JA%& M7UT=8OK7J^^/-ZUYX[O-;HD+I5'J )L-S8OO?,V M^^/K3QL=.0%#N@SV.Y,T'\C28%AD&EJZ==S<@ 84S3]^ .<1_E P@'M=J=LM M,L M'P#G;L(VJ6%3\5WN*FO2Q%-DU@6O:-*TY2FB2=.^RR.J,F3UK'GZ\AT, M>ZY@:%6H'(.TJL6P\LCS&!_-R"CMO MT4A./9CY!Q9S&$I]651S.#[LY5$_J&#L=4?2>' DQ_ G*: L4@%]9L3%CCFP'T1!Q<%F4LR66.M"++N-ERA<1SV@ M#670+V1,[>\4*Q+#IGJ_J$VM\'7LKZG.',FC % >"$PVAL$BZ8NZUZ4YM>"F M7]3! #]BTZEK%7#Z*\@QEASS:*JV08Z73XJFXV[>F!9J:_?!GGZBDVPN@OY M.A]5$#HLW%,% S"/3FME % >2/) =.0IWXLD9$-%MD(>K=DV[?8B2%,:CRN. M[S_VUU0&PCS:M)4"PL%(ZIPW(YF\T69#1$C J'4"1AY=+)ECB1TOP'YYF]DH M\2$BZ@^*]!OGT48NS"F^!3!BA2BXAGEIJ%> .?MV]B?5U0?3N^AUQ4"R]I(> MCD5*BB"@Z@A([N31TZXR @+K[(#HE4JA(,*,XC(*(L%(_/ MI5ZAR2D'HSAWH[=)>2E%^WLKS$NYT0S%F(J\%)&74FU>RO%XR^@+M:::=^1N M.^;T%S&YWZR._K#C\F3+G3RJS^[D"EMQ/M.Z^P!<&"XHT M5/;U1P7T@BMS@;53%1P31NS;<)GNX@3N$06W' 09.T_W1*^V(T5L'A6]ZH?8 MGG3>.Z9J8+7U^)05/&8S,)%GS9G/J#Q[6Q/")SQY/J&@L)(!8%Q#Q*:Y4*Q+[4K;"O MV@G803_H,BPQ0$ N #/,!!*BH02*S*.,E$^10'JK[;R=7;&]9%IAUJ/WSDCD MO1\?YO*H_%0@YGJUSW:' M*J"DF#$G-"4ZEM:$M:I:E$WDN!_*G/")Q.*AN9]<>I'X HFX-9%GX_^L5@H!N'$N; M.E1E56D,-?I%Z,H@Q.&39B]-6]$_ Y4OX0[XC./5#)>J7M'YC,$/X<:7XP/* M:535O$708(-H,(D$\P@M:B8)7LAR]J/>)N2I'7&K!#2C5:_7%EK1"6K#ECCU MT@R1_9!25RY4D(&21Z3207SFCEJ:J6ZV;_.X3YBC<2YWF+ ?2H-A]I#'LK:L M.JM=$$L"L>013=4D8AF-I?-.]I#VDJFE)F?Y%0KEJVU"6"(3"G<8Z.7&:O0, M1M5+YE-Q$2;QE+5X,(TS$KG;PAKUA3&2,K3[X4 :=XN,Y13="!N,^W$,[CM' M@7NLF#SL%'EV76H7PR,V8A/D)<7F+$V2E#NIM E?*N8?VT>6 MP$"ZG1@&4KRY6@8#&8REWK#(3-*4Z]](R7ER="#'*I#'0 ?]$9B?118ZSXD. MN"!]YTQ,]14_887-"_)?!,2%JCWQO];.;L-GM!ZH\.GI#6B)3T\B-DBH61)A M+?D YM;Z"'I+)^P!?T^FKF7!WEZA\ \6!_;CD:)L->@'XB]UIP.+/:<\4(Y% M?X8TAM6ZQ6L4*UR3=S59'%X4=4IUW3LH^.\S%"_PV5XJ4_]SW" C*Q(Y;(9YO6A#C01E+2Y_(08*F"-/K3R7]F%. MB3*=FHNE8KRBB\0P'7B.8L'76/_.H8^6HI.E8K'0"6=.;8H\E^GA/2*WD[O/WG]\2WQ%O0VR3 M&6<7_%V$#/RW!CP]\G?XSQ6KO;O\?-WZ^./Z\F^MRYN'ZQ_OB:(_*Z_VBN?F:XM^9^?XI>2OY0R-Q"%>4WQYR>13C:L[<2&F@Q&EIV?//PBO4O R-P M[=IM&YV>9H _,.D E'^%>A8[TU0NTL*A3CH CH2-E'^_-CRN9GUW%_"T:;I3 MP:A">6L]*H;V'Z;Q707L$3Z 6GAG =,T'/;Q=G;C\\O[@%VBWJB;MFO1!WCM M1YTE%#(]M]OM]D>8R4Y!AUPBCBV7^OPE?DUS$U,Q'(0??S,)X9A\(:_"LB"8 M&UE-+G @)(RY/!Q4,0)OS<@?=!$F<:37.=R#EX#%2Q<7B,UN1^Y](!\56V.9 MAV'LB)5$;<4U%#"^'); )C4%F0G!/E"FHY)OBH3>#X8<&WRAGVCLR] K2%7 M7 >2R#.5B OW6,1TK;=DKCQ1,J'4($M,"K5XY@3J3);*DD*QX@S[[!JL5/"2 M9P!AWYI':H 5J.NO^#M=\D&SM_TTV!38&-GX+AGK47GW%JW% M8)(K-4LSN!6)QC Z\-C[\9F: 0:K.^4M$&"R-W!9(N@Z#'6M_V6/N42E5*?> M)N^\"\?\@SZZ.A_(?2OAEO_7YK=\X7,WER"HX![6EL$ $PLWB6]"1!6-TRP) MB$L=XWBQY8.B_LNU'?Z]0:?4MA7KE:V:0F:*9N&.!=3CJ:_^/G-2&W^PPP\/ M4GWQI6#:LWAF"=YINSK_V0S,^I7S=*:;SS9[+3Z?NTUM_]U4;9/K%]Q\HMB\ MY_6S!CJTRGD^8 "^H9HA>;IU>$ZH9VLV4[RY?Q>'@I8JK@[@9V&WB>=G@"_\ M4891XP\&]?F$#0*EG^^0OXI JO"S"H#$FEPX /_ISEQQDAX%6_I*V,,FE-"7 M)9TZ7NM77)R9AKX0\DH5"Y=#(<]S4Z=MP=4X;XD -1;^&&YF,@:@.:^<] .& M 7O$VI[9(;)"/K!0?L%6V(ZV8,P&<0MZK.LW2V$[JO#H>'POC,2T<-.4!;(T M!GO>G5TBNJ9,-)TE7" 6GZCAXE^XSX:-?^'#^4-8P1P?YBZ.2N'/1SZ=.$=\ MANHRD*_&PS@K0W.;7$X=E^7HJ8/9MY(ID MYEJL^7R(E>)T\"98+\:(/!FS6[;@:#V5""D9[M>8?W#%ZS+)^S-W:Y !!D'I%O$6Q]5'2F3=S/ M*>6B8I:XQ/&;2I[A3C"N@6FK ?[W //$=8AJPNS2" L/YTP4A^G<8T,JF;R& MF),GEEVXV.9MOV,]1^1A#IKO_P)Z@)R!EO.:_7(,? M( 1HWZ#+?8A]"Y'_]3#J9N2X+W%Q<:O8G(-10!'P[HGY=.IR]39Y';^!HM(= M\264^!I&-W)B*A8["5\Y7@R$69,J45YY9:9\>["SZ"!]! M)#+Y#6.BBZ5NOE*&4._QSQIKCS:EJ,K9(+0MQFGPK4P?)0Y\P75=%/2@<;+? MF5ZP0&X$\Z,O6+^5Z.:4"5Y&X '!!G/U%#YF?=CN!!_D<)&,;$^G#HTL%%L] M)$=O,@: @4FV-E^$A\@JX@&9[2\'JL[L'C[%B=?YV],).%G^)>'HL+>EA\@H MZN;Y9^2([PK]?]J,:<6F!Y"AV%T0^$;\ M >$WQLC_"5:IN: !L_$$ I,'EX9ZZ657*OK*6V1_?(V\/W(R&?,B-N)O83#> M>%C\8K!UY".)/SI=6OKD?>1U@>EQS=6_X*!SF/:@YBIPH!N[1+X,+Y@LL5%2W7]_K2'PX"=4R12; MG7ZS_V&AP6,^L_.6%ZI>,O]%3@)K<\<]EN-MN^_[\%P)SSB6%@Z&&STO5/7\ M*8'FF(H!UH.OM4-CRMNY43_OITN;% MSB;9W#B[*SZ4'T60]"97CZJH:)(SUY_OBELC[C2::6!PDSKII$' U[M(3%>U M46CEQJ+=PTP8K1G.91"6FUSL +<>$/S\U(^R+5[5D?YE_C&>Q]<,8)=7$*!7C-1K-%%Y+?B@P5_#L MPS]P9T)DRDZZHL<>.X_3/#<_GB!@O/FN&!4^7&"+*J]8FSA&?%H0?@(:+ OC MRF70]<%2+(\KF+E<*Q:64L!R'*SU43P_&3>(G_36^ F6=^(:!0:<$-[E@[#) MUI:5E#8"#$R=$@.62%LM$6N]1S2;G?*Y2#@3;(CE$QZ#AX9(GFWR2=-9X\J_ET2/I]5DV$A"^PD,KA+";1'_T[&7IY9 MA,$J-C3T.,8>ER8[O/7"D6 F>/8:'0&[3[-M%^UH4+HMJKK3N"$$[UWQ]NGJ M]5;0D284\;&,=/S5O(Z;_LET[.#X6]KD;ON/ZTVS@@B02!?AT,$R^[[%-TAY M5BP8T*.E8% D865F(Q=,0_W3V-$P?Y+W:GPOVD2,F4]@#L&D^9-P7BOG%!N/ M?PE[&$R,6DR#QH7@%Z"R[I_I,W'AN2Z#9035>^I'N+(X &\Y@@5%*DGL44)A/%BOH!"7K'Q(584Z+-OA;KSI'"P" MG6ZR#F:$L7HC#$(L1S?6#L<^]14.\AJ?Z#E_H\TPSVMK6"$'[R M>[<]6$^1YU^%=SYSI1[$D1QZ7GMPR-U1NJ1ZB!VR;)6MC^TP,:2N0;5].N44WS M,D_8O[:4,A,;W;R-_@Z*>57[7$[UP(J!&/3_"Y5:K 4Z4Y?@K#^( RN1^ 9@ M40 ^L*JJ@)& 4688U9!=^@II__SWA"*L^STRZ7QV5T'6-RP#RG1ML Q9/C4K M&,#/.M!87)U\>$G9;_/>V/W(M"O(=)>7KB[4)]!1+W3( AT"'8)W"'0TGG>4 MTW1F3S.X>EWN>^#0WZMN?B[F?D'MB!+J@W>*;V"56 -\--XW/""^S32/^/IJ MVMGJ=?>D\:"R;E&%HD% S8?:>6??4(Q"H-:7SGL# ;7CAMJ6H*>]>E,>#C59 M/JB;C\!:(["V)<)LK]:.AV.M*TO]85F]R,MN#[4&MM/Z*.R$6#N!A]*W-D/6 M-P.NWC?4DMCU\,I9WY;J!'O&%O_#V\%+OH'?6>3^[8Q=:]^NMI'M>,98QY$T MZ RDSGA4#PXI4)@C"N,*).P?XET."D=R3^H>T-I4H+"N*,PG'KPD7BAWI$0M-6A7!.W7QVC+")#'M="[XZ.23X/PL+]L.(6^^[L MXII7Q ^G_=E!ED>\0IX_68HGBB>*)XHG-OF)POT3)X8B,L<7.='\]8U\^N*\ M0.F"-')]XV'Q*"7JJZE'FJ36IJOINTNM_8)U*K *C:+SLB1J>\XL67EH5=7%CUFFRZ;D^28Q*X2U)S2N>CS9*+@D $@>1$(..XV)/]O7.5$4A'&HXJ<]<) CD! HF+F-G?<5@5 M@0S'DCRJ+-+F6-*ZJK?KSB[\NG55'^QO,)Q>V0P'7DA4T\5*$W7G.-N'FL1R MMG2QR"=ZP,/1QI'% ?$#YU)7KHT0SHH.013U)HJXD)K<@AER)XI1KR/)GB&'2[0!B;'?T$40BBR)$HX@*.<@OUR%]2=.#_YPTC"G'V MMB-%<[WF8G..5<43Q1/%$\43:QS2(6(--V(-O;2?HW+[':"K5)D4F8\2FZXS M=S1YTJ_CNZNWS@'1R9VVW#!55=!!H^E@2TW]Q-H(Y="!\'@+.BB/#K:4HTDL MW% *'?0KRZT7='!R=-#M;*F5DUA4HA0Z&)TWBPYJZ,)KC*WE.8&%M74L7&7O M7G![$I30 $K8NRU@B90@+"Y!">51PI8:/KE87 =2@K"Y!"642 E; MZ@CE8G,=2 GU2?[8Q^IZYS67>\<"_[W&?N\BG?UJTV]PLTUCQV_3.%PM@VC3 MN+9LL)E>:U2_-Z*J/?GM#N\^WSS\2"Q('_"(SN]^<\7($^:SEF4^!S^M_X9M M%LG=Y^\_O^TN>[]A)_OKL;82'U9O2^H2/.0=@OUQO8.!!1,(?8C\O<+8W>7G MZ];'']>7?VM=WCQ<_WA/%/U9>;57.(M@"==G!:8N@LD#QF\=]D\<9KR? K2L M;HFKW4E5=<15TS:&N"_39CX!K> (7,+62U MOSGF]"SB(7GV5D,#;JRAFX/O,EZQ_F7@$5F[=ALBTE/(V07KYXEE;JY0=!B. M_<<[92]8,(88H:$P4?GTMG9-'!?%+;A@3^O\]QS>4/6C:\.NV?:5N9AH M!FO)^TFSI[IIN]:6_JER;/_4"MC6'Y.+[Z9#DPBZSPD:UJ[;D7L?B#]=$IJO M'?2.B,XC/-"_K@WQKVDZ6T3Z6*SSV'C/X#K;VL\;Z(?RW1K>VQ*:L?^/8KB* M]4JZ78FPYNC^ &&]L$B3/_M:A:VO@;B!XK WT+)6D'^UFSG*WN? M0DWC_W0GL+5?C&F;O,&_WTJH.I&_)*ER<6$%3)7K=L-_^GM\B2.W-7S,Y8MF MMRZ]F?14?.$WUAPNN8!S#'$ 0[ UX.7LPX.E&/:,@NZ@RH$2.$Q;WWEP=M$= M]]N;I=+X"@$@=/@DX9QMS79PL6']$U=H:Q/WHE;(R_6T'TSO7O_1U/Y.G=O9 ME6+/_:=F6B&Y.VIO.A$C*P00(U-X#]:$\4"8L$1;BBKDM$2Q9D/,LZ[A+^?U M"VHRU';L+[;M4O76PO^BZ(G6YN._9K,RSH<]:3S>S.7A"Q40+PF1_%]M;-"^ M@'7C)7>>%-U%^G<2L2=O/=RJ 77&+O>EH?KKG0V:PV%[TX*+0M,T>,-[D*=( MOZKBT#9Y@&^6KC6=*S8ERJ-%69(T!E^C*@ KK:IL712=K2C?VWQ%E?X+VEVDO!MWVYA%F M="ML=_(O+%X(:X9;HDSG&GWB*P^+N:06>YDQ!146L]B) R*5.C9170NW;J;A ML'8*N: A%;\2RU2EO[/;#MV**-FZ_9Y,@&&F \)6+XA/G'*WU9/WPL0_M^SQ MQ]>'UR5EMR'W/U"*?+;"O1-20V((ZSEH;Y9GVBHX^"+N%!_RUOR<[%PNS4+R ML@O(CKU[&/6PW[XI+]K"7=1?%,E]$$7GF_4<\A=%PYS87D$[4T\6"HK6+A8: M)\U2V37-,I\0 $2S"9<#P"0N%\!J+5592/!L+#JH8TMBQC;@,@4,6X790B9S M@<#3#'<&"\@%QU)7'-P$6#K [=(RGV O =6@2Z'W6X*' F?P+_ -11CPPK0H MF9LZ6BL 0/T5;?6YKYZ \(-5\]5$E8%-UY2)IK-BRWB!NX#O.4@Y9<(P5F/! M2_SQA-^)5"MQT.&V85MM@)M%I^BC5/&F1]-4GX'D/=IFF/*_P_>:4XT-E3UC M_?$6!8C:R)TPOHK_;CNP$O11F[)9/%KF,R)^N30M!YDB3@=P9VN/AC8#X!B. MOA.%W@3V)8U@&A;5(\L=FH%F[]35#-,):6JP;"ZP2W09LEU67G#?@*2H?8SL M<9W%K$ \G6(?=LK![AI !N+NP#^:3*MU;L:]TCC]P*'!5;%=_;R_FKG+IQW M!E)H&_[0+K:X][0+OOLS#6VJP/1:6AJ\SB,]'-RSPHAF9L)7SUX]<_\# M6RV.Q:2SB<@!46J??O20*7IDX._ T#^^\L^QZG9NM)\W>D\C-*HSW4_G0'@Z M*$ _@'D![_@/5;]@[6!@(F#=,P;J/P=L_:\KYGG)>2?S\L?[N+NQ/F[R!SOS M]/:&J;]X)N*=Z >?[:4R#3YSV #R'CQ'0WB/6I9W^-/&+8\/ MIK"FWKM??4#YP,3^VB&Z#+79/FB5ZMM5>^?8JX(J[!%G9\%IS/MT_]4T]!W6*%)J.!P!^9;9.M%+_@#:+F;9 "(" @+\8CF(\,@NS$32\ZX&5 MD.UYX\CV"VCO,PQOHE^U)_SHHR K(??/+GH=:33*WK>B+$H^5E'\V7- "0+> MGX#'I1"POT/9Q.1Y1QIWLY=.%8+R,/*ZQ=,9HIM@A8,9O2A$6N;2M: 8.[DT M0LVA.T&WUVF<0&;P^FX:TX/U:5F2>]D;1A>Y8T)8)V7//YB.HONG<[XW1O"7 M6O*78J/?EI8^R01"*79_Y33>%H.:J]#+6[R5(;:2A4^O MML(GWD,<[++_VZL'@$RB9R1UQMD[=^VWNR?.I'TZ#06'">?2WLZE7K]QQJBW M\:$?,I'J0!H.L[=I/1*'U?[B\6O@8Q(",I. '#1>0*X<09D(;R@-.L4=J=92 M1OJN#:"A4%3I(<2G4I[AQZ)N"Q.!V\:=MT\FTVOR$9=;7IU$P7FEV90G,C]Y M:'E07@X5F[(T/,]>-347*-1#=-;FK*=PZA<.V0,=LLT+G%J)^$/Y!1#?L3AB MC].23CCNB3%>!_,56>IVCN8D^3AUE5C6@OT6Q3ER$YA*.7%G M&9E*X@DR8"P;4QGW);F;O5!OS;A*>H6E[)/CX^1W9Q=8^87EO8NCB+V/(OJE M5])*77]G+P=)KR>=]^N?,W*)-$ZG&]6PHE]7!!QAO+7(2> MF/$0H]_+WN2ER'5_*P3Q=L.#E3TK[K3R1 3UEGXS-2NWNI?0[HZDOEQ[&(^Z 5(_*=9U0XZ5:5JX[ MS8Y'(]'Q2'0\.JF.1Z$#L_6"*KLZ'_4:U/EHL-;YZ'-0P-=0"0^="U45NO3J M),0V0JJ,*Y<_ M9T88YEU6VB>=7.%%E2M6#@ M$J$ZM0OX>6X3:F"YY:063?=TZ3#UC/0ZK$E3E^_I,UAR\75JJ]^RS8Z+H9*U M+UDZ+H9%QC%W7#R,JZV*X?J$'L_"^N46MMTH:QLN:MO96=0VL[[245N]WOD8?X&/BX&G5CX^A8YZFB2K+USR[ZG8XTE+-7/#QX20<]Q*)XRS\JDMWR2:4MX9?ZTN64822%BH[CCGK0$RK+@_?W^!]_N MV]DLDQP=]LJ2H5M6:;^ KA)%Z/XD>&-:%(;A>4&FK\3!(S2=G:811?V7:SL+ M[H0MB B+I;8U"\:9@\69(>(C?_I+/;!$BHSK 9I59'I(N/* \+#"P6=%,[YF M#+YFO=3@+PS4D/H'G*P6M+REQF8V3AO>M%JIH1ZIO9I#L$8)*G0N@1NCN'H9 M>S&+;%5 SWO28)"]5,5!+&#;0J53OQL6:"$./IIPQ!>8/\!0D[I(]T>IQ/P_ M/VGVTK05_3,L^/(*3T58$],@WBKR._] U=O9Q]=O%&0].XE]F"O&/1#V=]/! M(V@3*TUA$^ZE%V#EMZ/^8F"?YWM'<5C_9T].W,\I=2X-]1*T9KQ:T5?GV/;' MU\C[[:#RG(PNM# MC7TZP\8K$Y0[VX7&N.\EPASXV/:3P&*YNK/1@-QO\3K5;'PUD#,N+647L159 MZS<[\]:+G;/3%\V)7&G]H@[O1^[Y#:_ 9KMF!I<3;P(>4(ZI,YYYV1%Q[ MU3B85\>D+_Q8GV G8MO;;+_W+,XNC3W&6WAKT6[)"K:H7P+GYK$!/+0"X6/1 M.35L[8D23K=QC:]/B.]N]+ B)ELJ6%,CU%[:R4+'*SPGW?>)3KW;9':;?(KA M%(-3T"IR#*>XV=Y_*Z%_\*#B,(O>,!1XD*)[\!ZK7\^PBUT8\=>BV_D]7;'W M'-Z%IM1^/8'E3BY!$CL'N&G@^LLC_YX^ "$-I><]]%U!&]E^VAK8L?I7FI8' M.6'FL'PY@>)317&\?B- G W$%6/X_/>:8O.G36>N7CJ@FHH4_UG^#K^<-'C^ MP2P/,)PO0?<#ZZ1B&%5^EKR?VIKA:"HMALJ+&2Z.$/.),,Y.=4W7.EBM+Z$I M"-B5"[O+Z=1=N-RE>[G RB?_\:H1""0*)):)Q._4$: 3H!-25\#NZ&$GI*Y M8CV0**1N,]V3C0;=5VU&"7HU7JEBH4=# / 8O)Z-QB3WK!,&S1]TH6@L3[EI M(*T\J+\9/M4HC,Z)>P-)Q'<&4]:K14<[J M.%\E]JHYKQ)[U9Q7B;UJSJO$7C7G56*O#GS5^5'.ZD06L%&A-?F45H$5^,8R MO%BU4*^B:KF1,IZO9>72>(G+C:[ J]3X@>U;XN,/=)/Y=[1L.FUI+ZVYIH)U M_][+,!V?GUW\A8RQK@I>7)Y;YUCV1 RL#B@>(XK?C,Y[;^N#XQIO@1A8]:#M M=3H(6AG;D]8%LLW:$S&P.J!8%@J$&%CC4=SE"H0L%(AF8Z.V RL"M#T$;5<6 M"D0^ RL[L"D4,K+%][-_$8E_)M2*^/CZ3?F7:;'Z4%Z1)<]3](.R(,SU&_Q" M2]&Z%-O?P(-',';D+%3%JM<91(HN(9C?JZZ% 25G%W*GW5FOIU8N5%)4XZUN M *3!V+2#J*8PA'&O"ZX'(7I* FF[4%-4=JH6*?AK#7.=]>-70OXH9=\S;MTM^S5-U?$][!4EL->S8 N5(]"V'2OOGC.JGKT1T+U$-[U[)[,[5#^YP\L \_=G?# A;O( MR=..K;6WNC"[FXYVTLI0I[J 15!>\ER$8<(B#,1I@SAM2"=N\C]AD)-.&+KM M7DV1>9IA]/?FS'G&?B0.GN,"B_+U;NZ$R>U_N M2=VNT":/'N.))G]>IPW%@CQ/ZW\H=?IRS5 O[/\B.'@WKZ.'8L&=U14PDN3S MNIVA"?9=*L#S.H<0*HK >%U5E&Y>IQ+-45$&4D?NUPSU0D4IA(/G=4113Q7E M7.K*@YH!^3C8]ZGX0E/B^D#O?%3GFOO?ZJ!U# M:=05WIJC!W62VM'+R]E>8[6C*W6'=$^1?$]]D'08@,%B8Q[R76#VG(X+;:^4R?[ 4E2(( MFE(=OGD*45Z^<&YMRLU#Y(IW'=_(O" M1BV")??SCA_+2/V4 M"V35(KS\>&"\+A+1S>>8 O MO:N[GUPHON&>[B,+#K]R;?A$+6)A/P'847NN+877._L@ 0&62JU@F>7E"[%- M75,9?#H2P?^]W:$LY5;PQ=O='^'-K2Z'NBO)<@,\,ZFWL'$Z5A/I)-$VSJUH M3 &$DJ>9/);ZX[H%J*?>06%/5R9)!KD5GBF 0#);X-*P.ZP;,0@Q4N]%3B*2 MW(K7U$W=Z@[J%EXLZ*3FBYRD;@UR*X!3E!($H'D5D2G M1NI67^HUH=3_\8J14W%.)X"^L)8 @Z26 #&')\6W!$BY"KGV!!@D]008BR,D M<8244C3E?YHT2#Y-DFL*S4;E343.C7)[09H#*/\[GU7?(26IXPOE9!8Z803>5][[^*"D/W8+@ZC?D1,]0PD%< M+3PZW8XT.-\=:EHKX,2X<@2MG0:M)9#:,.%(K_S^T[(T[NP.Z:@_1H1H$^06 M3VX)AX-5Z))]*4VZZ(9<[@M/#"Z M*,-)7^(VB#6/70A^!/+.F9CJ*WY2@'HNR'\10C8.5=F7:YDK'B&&%Q'I,[\U M7(UVZ8U@;FT.X84HKF.2X8HIO"=3U[*HX5SA04[ *H"3/<*C85HT6)/Q (AT M3G'O64!"=#K^V6#H0&C%6.(/C%;RG+RKS;*5/X(OZR=!9*X\43*AU""*KIM3 MU/,(;)LSARNF_W8U"S[_Z4YL FNN.1J\%.2>K=D.:"O$G&V>+<&7WCSQ>->? M(1X_MK27UEQ356J\YV*T.^BS1>EVE.D'66X/_WB']UP0F*G.)*Y!KEW+7,*S M#97\9;M [@X&9YL'MGA:V^IVPW]^=&W-H#:HM3 W6\/'L,/92V^N/14GZT4- MW#NP'-B[_3,U'RUE.<X M<:'B982XT@Z%@$)?IG.,P2 6&Y-%;5=G$((A*SA] MH'7#NWKZ&KP%)Z6H_W)M![>FP+XOEL \X'<8QBV\U2+8 MX,>B 2VB8WZZ_139B8S5/X..XW)_U,8=:)T!O&0&\S5B 9,&S8 MD5'S07^%$7K#OO)&_8!KPX=Q::@/JY6Z#!;J(\45?5!>,F&LV]Y4)@.([23$ MT39"Y*N12DFNTVITVIL6*V=PP9(P DM0)L@]73J,I9 >2"'$!-,LV&(FW?>) M3KW;9'8;_)O=".2SI#"4)ZJ_MDG8+@="6\**49Q?')AAK(F[=QZ/Y=$^6 Z/ MYW:VSO^RL;WV9NV(]) 86I1Q2"_AI MCM(:V*,GA_<")@?8#F#BHK'K)!*&HL1?N&L_UOU4F1AF ?O1WR%:F83SQ&?" MXAB@8+#%\?8RM"'IF$38]MA^/6P8W_'D?4K':7!#VYZU4YUV6KU^? UZ[8(K M-X^/%GWD?\;QUXEBPT^F$=%RIHIEO:)6\Z3H[DK5\NY'/ARC5,'.;-&2-*:\ MS4Q0S)_M]W7:F4V##^P\;O"%4B[V,?@ZIV#P[1U@NL[U[J=SJKHZ-6<)?L0; MUW$M&F:0UQRT#PC!!WCE1[#T?GG1HMUNMS^2@4]28)E+]+Y8+CWC R9_,.># MMW'_?88GZ%37/6=U\!F,MFGP&>-=@<%H!GO;V9KWD>US)%*1X25OAZ3%@81> MA(B+O+(S[*!).0#U(_91$4&K,<3^'5[P\$SU)_J-^2NRQ=A)HU$UH>)'4:8P/SKO M"SIO&IW'1S:S-OE/TAZ@W>1^%&!\(\FX:><>%YA9%WG@8E)' M!X.FZ^E'(;^'@L";1N!Q <$%$?B-Z6:SPWM2?["[.E>]Z;OY OQA3BVJS!QJ MG2*59Z[.5A>.D'D"2=RCOR_W6%KZ)"'*$+G%="UEYQ(A=Q#_D'O2N')'7BX MJKTR4>6A'R\:0U>A$#'Q#V6QKAHE/.UQYM3;>N;$,)^U M+/,Y^&G]-PP0(G>?O__\MKO.7Y@N(NNQMA(?5F]+BFH\Y[&/_KC>P<"""80^ M1/Y>8>SN\O-UZ^./Z\N_M2YO'JY_O">*_JR\VBN<1;"$Z[,"4Q?!Y 'CMP[[ M)PXSWD\!6M:VYL]/\5O#$9/'QCS<7GW5C%_!6U3-7NK**ZZBKAFT-<%(L1BX MAC= (7,+6?5OCCF-EB5^]E8#&;:FZ/XN[1?;+H_=X9\A M]&!.AC9[77&IR<5WTTF,IQYZ8<[O)CQ73.[A783/D. 46;(#3C*(0MIC%NOC MCJ#10 5"#\\E(4HY+3ZW03L@ >^M)"PQSBXN5TE8C(BUF<8SH.;^$MB*SC/E MEA:UD:^"XD*7"@83ZZ]^K#+0 #./F&K_4=$58TK)_9Q2ASS/>1J@'[C,(X\Q M1F@*6P';P3*UB$* 11AX$7OA*H-P06'P;Q*VDB<-O(6)&2",,3='PMO]9#&0 MY',3KGS%3"QEN;1,>#)/5D-U3,),KX4&:X _\T' 7S;R,7856Z /B2/H>B-8 M7<\65'E2-)UQ"98WLUA05<-D.9R@Y*75:9:_KDB9JL:'9+N3?X&I#:NKLV'# M,BULGJB&#W9M%VPI'N.-Y5\5ZS78*I8V9+O3>:J1][R1PZ05EF\!H\&LQ 6^ ME6=NPJ),W%=JL?>9+!&.KQRFN'FYG' QYLOIU.%+NV450[O*&3*@)7E\_=#* M,ESXT>_\>9J-XYVP-<;AP6?J.2GP]1,:#$L%P8:!DDD\P?12+ B6LTT>UR!^ MQR<44:=XF2M(:K_8NSV _^EH71#Q38-+WX_:/CGI-D3GC78 M7UCEA:+"UEB;/^"BJY;R[*6#AE,^D2VL4BYYUB64+UC3?\+P8;*QMJ,-"-_@WWN$#TQC2=C;0PH-7;V>JM M_DL"KT GI5?@R_<;X+D#";3SS:0PF[V?S%!HPAX!/EQ8?X=O,V.^LQDR$$R, M *R#7.1I0KX4Y0PO(K?;')PATHN*]5UIR+WS4=6[$I>EMZZ&@K)W!]B^G8&R MNC1A9I_!'EKNGZXWQ#3EF)U)GY/[/ZY!8[(>V3JO]*= :6($]5<[27V"=WXU MC<<6J@"QFQC:8Y]"46%?O28L-P."]I+Z$],_-4O=EW/PZ[FX,V#T2]<"N6%3 M3_;! Y+0-NZD2A2N#'CPM"FEJGUCF0O$W>KY\"S#N334:Y"W2U1!,^6*]MJ; M#<)\\$F@2&N@U?$B!ZR2 JSQ(TPA>55'W;Z<;E5Y-GQ0GN(K:G]^)8O/U*"6 MHL,,+]4%Z&ZV _H_*#G> ;)7VJ*J??D,-V 6_ZT1LRN';8F7^5Z,3M=KBI) &]S[!X3\C. M0IG+:M#XB=,AP^W9=$'V@IX%M$_QL(@+.X.+9C1-EHK&BQUAU9 96LM$UY0) M%[MO%#SL!%.+/?*M+X;ADS'5EL ^X $+L%^ A3P!@0(O-5W;-W)FGN$3O&KU M7!0&( C0@ZQ[A6X\03"ASC-SH_!G+!4\;897,3[#W[Y888]5\VF3E*M'@$V: M>*8+5JQFS[$L4'@9YQKP,)#_GC'I&:-VX&CB6[E*>C>4JW01=,-RJ M]M8N-)*]4NKS3[JLGGB!,K_BVJ+@2$H E3D?['_X7W@N]51-1A?,O/3\41RW M-G>A87(WQDH$5<%6-*#16$EY0DPS[;IW_76_#SXP?X8X?P2:P4[:[G()Q@;?,5ADAV]I(DJ\4D9\3QE64'*B MI%D]-N3O]/R<(7DFMGCK"!XB=DVH"$UHB5;+''9+3P+]0\4E5;F^SUW"X;5' M:Q=T+M=B@A]T!@T9!3L8!4JVY_PX!/_ A\--S)+"+_F.,X*V\0%\OTAHR!QW MXP\V?X!7BY+I!A/%^ 4JXM*T-;^LSOH[O,N1>\&K-#P4FV'%+.H? )"%Z^"! MS"<2T7)D33>2%?[7CER.8A%]GTYX# M>7E.)]S&E0OJ$0OD23 G@^F1.AZ@64O&/T-'1"J=.)'EOEE-S==C5_>M7X*__!]=4,!:RSE=:IA,K1EE&?T1-!D%Q:;*.<YT"6X+XZC2 M!A%?0B_%PHFO)XCO^+!?^0":0WS=N-Z&]M?Y+OW6IUV'M/D#Z)SIQ M5I\R*?WR2.J,AQ7SMH+0*XC]E(B]%Q=LE@.QEVM-%$KLO9'4E_N"V 6Q-Y[8 MXT+:Z>WTP6_O ^"IK_SV8CJ*7 M=4I1)N?+KXIG;VNE2=5T@>@^5)<"5.HDD]AHRHC$FMM'K/1E7B%,HZ'4'U23 M)ULJ+$HC:<$]CI5[Q$50-N^T)%?N4>'QB. >C5K!D^<>*2O+U=R$VY=[U,MF M$SRC42MX\CPC94#J2=DK/6G0DP7W$-Q#<(\=W",NE+-Y)T2Y;>(7C#L8#R_P( X&'T@_$&^]X .LXITA<[WD3K;A> M8_'SCSTX6YVZD7?>H'?W-"NJ^<*2C2!N*?]0M:<+'!WAU_+K\$OV5^2&"'VJ MGC]!AO^%7 OK!/'%>**V@X3T '=^U,WIKS-.]MUNMS_"\J,4*&,)MSB62\\J M6ZH_)A??38>2A YPYZSW&RY4MR/W/I!0:M-]*+7)ZQ!6BRVO8@0//1^_2(#%@B"V"L4VVIZ!( S5J:E@+; M@9>:#NP \,>)$THA:Q-\S^HS42Q*IG#+HVG!:%2BP%=^ $ +6&[+!O[+GH=7 M6G2*S ^.&0&[)H\(;_F#YV9NFX^ \?IH2B'?7AZY_AY>@XL.AH,LQXT\X!_Q_-N.99WDS\X MMOG&_/<9ZG54U[WPE>"SO52FP6?,;0;0:@9[V]F:BL/V,9):RO"0M]9C<:"@ M(A#1@^ +C&_AJDF-DWBKZT K]T4+VMRTD 0NGOM/6Z3)QK].JMOM_A3LC68P MS-7145WTVQM0UYRYZ=J@5=AOR^UW*]I:E\M3KDS;.2HJ%Q@].HS^-"P*KT:K M[K.B&;; J\!K0_#ZU;1M*@ K %MKP.*!!6$G%D>%U-JGN.13=PL83ON^O?*? MGGBAK51=:,YK5PUPD-CD03,48ZHI^A?#=BP7SU/8B>7/^WM'<:A]::AW0 , MM_?N1-6>-!N>;V=)DUOS!RY,( <096@H?%1L+7,1J_&XFC"JND*S\@$TB#82 M&RU41QO3J;MP=7B)^MD"16^E]Z&9\I$"== 'Y:499_]U16GE Z@9F;Q)HI/$ MA,,:T@F:1SOI)%&P],=55TN+[,Y;02FUH90D0DG,K2N14/*N%-H?U[8'[8E4 M04:7NA^]LA:SC!%T;2VQ<@XID#4)EY0.H(5G$ MI8E51Q;""#OU =31$DNL:U\?&CG< .L.QG4BE9,VP.I()0E$,DRL!U\\D>1J M?(VE7K]7)THXW9.P1Q-&;B!BO.0"88,UET+U,,?Z M*#ZET7FGKGQ##* ))!)7AKT6)"),LU,?0 U-LV&V0(LJR>5P*VUT7JMS 6&E MU8Q@DN@E6_!%$?22J\'6[4OC<=,MMB,X+<,ASS1,W<84:-BDI6EKSCL'WNY_ M.$FK;;W,>VT8Q^; DKA'EI"4CXKQ"X?SR=O^>EAK>,(NR>=5NSOWQ(4@CUJ3 M1Y9 E +(XS@M-4$J32.51,,M2SA&F;1RN)DF5QTBO[DCIV:J-8A8DF@E2XQ& M'K22;T"C)(_JUE#M1 _6KLS%@EH(&GCBDEK"(MMLO"4O7S+TBJN.@Z0>?Q*C MR1;HXH/I#K'TW72^&%/=5:GZ#\V97X$F>6FH^)_K?[O:$[ -HRXVX "9TJ!3 M]8%=,4@4='LZ=#O*%GM3"=V>AG$J:%C0<,SXDRSB49;@F+H1<0Y6=\^>=6W M)\J_4]^I='6B+\RCYW=54K4GOU'2W>>;AQ^)E;%]T'?O__\MKO^=I@N(NNQMA(?5F]+ZE0VYOW,_'$%K0C7/D3^7F'L M[O+S=>OCC^O+O[4N;QZN?[PGBOZLO-HKG$6PA.NS E,7P>0!X[<.^R<.,]Y/ M 5K6MN;/3_%;PQ&3Q\8\W%Y]U8Q?P5M4S5[JRBNNHJX9M#7!3ETQ< UO@$+F M%C+MWQQS>A;Q%#Y[JZ$!7]<4W=]ESI2B7SXIEJ88F]=N0T1Z"CF[8)W ,!_D M"B6/@2D@REZP8 PQ0D-AHO+I;>,:T84N*[\ZK O=GU17'\QOBH,JP>M*-8AO M/=<5K>?J==X@6L\==X>(W'^*;T@J.L^)SG.B\]QIL!31>4Y@M.X8%9WG!%X; MBE?1>4X MOZ %9WGJDD+K%+)K[Q;7:4GE34Z3TP\]3N/.\V76W*WU9,+;9&R MS1.8[7R_*PWZU00=QRSW:039- ;A<>?:52(\%.B"BMS4?#10E?O3U-%_C09( M0P/7!/(K0'Y2J-9Y7"F5^D(?;9E,,2*CFL2'G$ $5JVPGP3]N,HH54(?32!F M 655SA@)XDN5H[8ZG7J::B[8FH M?(V"\CBNQ$<%4!9FC,YLT#[-N MNE+_O)I:]>('LUDMR8UF!<(%PCO L)^?E(3S)7MEBGQ,;EA7^$H:Z0+F'\D$GRZ%ZGB@_ M,%Q,&HYK%&5FB[\HES*/Y7A*T&Z]EJOIM)LE/*)>M-M TU40<;V6J^E$G"4:I&PB MWFF9'[><%>>,HBO65F>/J,]?6'W^02!)4'-"Z.Z@DQ">5+/(V^'Q$_21!?4*6BY5,B=$:95^7-\' MG7H@C;LU28H2/:[6B5_TN#IHV#-\"LL^D(SJ IK;,._@7/@:^$O[M;!:Z=PVYNO](GJ23VN>*^+MVT2-YZM MU5$ELC,55P)LQ,:S$\50^>V.117;M5Y33=2U0=V +X!O67RR\% K?MHX?EN# M35*L\+-WKT;76XTJ@5$]-*^P$1'?.91)L'6QSD*BV#X;P9T KM'R/VJV!TQW M:1H,2MYMKS"[;D<>?[#AF5P^$14!KS"(X)7L(__;IF3F.]1A%> 'Q)I]XMOS M,*?>(+8#F=S3I>,UM>FPIC8UL&^VO/S6?05_CNSDQ=-Y^10#E(%(?, G[2)I>1V_'!24-?**^$#5;5 M9C.8P,PR%W'#8 .D4\4%F. @--MVJ17@*#2-5&^;*T_\.4RA)" PEQ9=PJ_F M!/:1D8(-0A%;PCC>3XSS+:FAZ/B:6L$R]]YQYR>A!QS<.^Z+\41MA[$IGXU2 M]>/KU0J^OE[^"=@9:_06WU:N5U);N?-2V\K)G?6^T]/%/]B7Z#U\T/K4LQD+J#6A8%KKU,KYHE*#.0 M-2NNX,QA<1[G9*8]\6^.DD&4W4JN,F93X$R3N%A<*DNN7,SC8/\' 'UX-A\X M:&\ LP?R,2P?VO2 %-%%3D345HW! \( &L0D#XL#D..2AG+@DH>$V/;/+@9] M:2"+<(!3"PL>%JIF\]HF,W@.3:/ MK3"H0WCK;::+L#-8+WR"G8LZ<)%BJ?R&!77FIAJ\8+FTS!=MP4(V$G9VIEFV MPW:WI1E2RBOQW/3-S9>;V[?LU6WR *.Y,A=+Q7@E2[C>5%%7A/E;]$FCSS;1 M8%6T8*%85 =,M[4PGV R$E$59% JF[0*= .OU@P7OM I++((/5]G594G)I7KT=A;PQ2N^Q DG MY -Q0EXO'V40,CH:Q1VZ%?0VN;?KA$\U)_5$WQ\!30::BIM44(B04=8$ZYKP*4)_%%Y..Q1CYVXVH3[J#B5]B1Y*)\6E8H8Y-,)JJ(OK$> ']BD:D]^K-+= MYYN''XGA#3[H.YW?_-^P/+ BS7OL0^7L%LKO+S]>MCS^N+__6NKQYN/[Q'I329^75 M7@$M B9 MHFKV4E=><1EUS:"M"4;+Q> UO ,*F5O(F7]SS.E9Q()X]E9# ^:M*;J_S9PK M1;]\4BQ-,3:OW0:)]"1R=L&B\="JP.HY6%'GCW?*7K!@'#%"1&&J\@EN[9K8 M_(."P_]74?^W,XROI8;MV>*L\.Z5:3OV_5RQZ$>LJG;'*T_9\6&1PP9E"/BD M'J0(W ,6?[78+$EX(43"P$\#>!<+H-X(P$X\_Y>]PF]?3>.Q]4"M!?EB(/?& MQ.T[73$D#,T&,!J84_ &GY_J<7CK6RD\'C)75/99F6@Z%HD#^?YH 6^ A\&F M$G/)2JA)?"GY=YAO !H=KS/(%&2;O+F__&'#HRUJ.T!.&$W.+M[\ABF7L&8F MO-7B7[5XV4'E6;%4G@$P5>PYS,"?LO>+G[^>5!GNADXL5[%>2;?5^21>A [7;V)B=@86S-1@<4 _MOG36'+&$^6+ M?&>9L+Y?E0G,'S:TG;QKW1T@2+'QW>C&\WR19\2.-RP^R,EK&!-_Q3J!P+;F MIJYB:3[%(0J_[GY)657';Y0ZF!\ T[T/7VDF+]VE^^C:#NF.^>JUR:ZM^6[R MX7O[_TPMRM$)Z\D*#*9% GN?MUGF7F,,8>B2C\)T'9:-@PO@!O2=FOZ\I(H] MQA :PK,&:H2?,H.T.L%\F,F_ '%>!@S!VJM!VD;J44EDXCI$P[M,.R X>+1- M_^T"Y@#S]&4)T)98/A,8>S.JL9P1"XC50/6&?\!?;>HX^%$S&"%SAL,@94=' M&WH5F]F$3LT%7=6X9$>2W@4IESJ,>&_S?NY_YSJ/](BY(8RR32XSKQEA%345 M,)5?M(6[8'!B>,7 //\1+9M.6]I+:ZZI*C7>>SZ%WOG9!6A\?[S#2R]X@1%. MIN$*L6S1>!K9-*0KX(>%YC@T<:RKPI]>CA@\VDNIPPJ.C"=9Q"_RB:YMV#ZV M*#[ ULE%<1Q%,_S+;61P+)]L22WFT<"#\06K>,SRGP@>6;#Q>O?CZ.V9YV#Q M7KC*:<-#&6V*^7__=H%XF +(]LW9/GTVT*"&,O!LR@& :6_!2-@N32B% 4WG M&@5.SI<4AMUBE ;DBJWK;,K+*[/)A8'*1H%8#!AJ%K \4H-:+/LOU:8E7&28 MCE?KEK+25;BQ7IE:K$GKE8KF:9&XS)R?X)^F:['5,PU_AL9Z26(/=*>MBX)F M?[U8ZN8K8(QI[.3.M:; V[@V(93UV#S)5!(T:5W)F^O[N[NW_)#-)A3&KJ%H MH]X]++5UZ=^A$&:;XP6&RQ(_D'"YZ/2PO#'$"/@I\ .X<@9C!&;($W29!L>3 M;5W#"=1H8).6R7B-ZDXY4X!7N$L<4(+KN+\6_KC%6OXGDT$/KTO*>FGB(FST MQH2%HAM9A8'%'#8E+RV@X$?&0#^^;AC5[%6?O/G=@,3YQMC%'7*^6V\ML')O MX*]N=5,ZK+M@[@XV?-6XKE-/9/"LXV!;PTQ="@N;)6)!UX#)\ZK4G%_CLJSR MG5'=22%H^[VS"UM[\01M"S;?V=AS7O4:^21\!^,*$.9!@G(%-HEM?U->TUE0 MN$),30>1DO3 [V!Q( +2/I5G/*%B!&(9]1O]%50;+NYA_+CZ<7"70K2%,H)1 M4YC(/'H"JDB"^;!XF$]VPWRR#G.?N7C@OF+$S_C.'0=E)I"?[P3YJF;!5J&\ MFSMYHCE5Z0'B6 K#J*J\^D]?9VP8L<@?J2M@,>V^8R\=(/]DO^J%'&@!V]QU MY/H%_Z9"$[@/&5L1+9WR%6(NE+\D,8_S>.8Q6O;@7D M/DQ[!CLXN^BW-_NL$E@X'>>!;#QQE89VCL#F#//7?LUD'H;"E%96(8G?\'TR, M4+4ERA#5B $(!B,8S)$PF$NLVOI(!7NI _E7CM$".V34$?QK?H,R2*#T1CD" MK$<"UFL_M(B=01X56@O+(_=&,SS/-3VSNBQRCU5%HF$5AX3KE1)^IG%TK71V MO:I7IZZ#P]A.-)N9GLSSE5LLCH>.VQ4XOKL\*,([9NFD/&;Y\OWF[*+;ZTF] M\VH*1^UH07@LF-ZKK6;- !Y7F"@VE?F.6D7#W/>2>,:,+RF9H,P&_O&H/3JO M(_0+,YJ*$)5Y54O[S(.E*VB377EAM#T&4#2#V+ONX5 >[!L@40BG8/"QOQAW M+!@M6DEQ+ZX@R^=2OU?;6HIB (T@BG0AKCD)47LOVLA?D/;/V]W:$DRC[,Z\ MA*F_J4*G*"KW+6-< M'@?9'%FBT(Q+G"C?"/6PA'GD/@O)R";.)>"--2L=+&1K+2@CK6SM=NHD6V-( MHP"/KMSN5E.E5ABBVPQ1+&TC9&M^3>6J$\&I)Y DJ;MR+20UPR4O%W"@I.Y+ MW4XU-7=SV"DAT&M 9ZD%>I94U *-Y0T*RE^@GX_;HZJ)2YC+88&^)3HI+@&P M=)'?C*8\/6#&O)0YF>@ F09)_)BA)_&KN/BHDN1[7O%1HX%T'E/!I>&(JERX M5MDZLH:"/74#N$;&68W&;7FS*$I-L)F[5;Z&_&H^GJ1JXD&5Y8+7126IG"<* M;<1GLG$] 4OS-@3(/$0;D3OGTG!0-2L5VLB1:R.IV\P5I8V$R*60,X+!9A6S MFF#SF+I9B:HZM2H6%7;8^)7*5T7&O=KT>]2D'XPW:]*WR8UIK6K$2JL7>970 MO38$-*2I60JB_)683UZ-=+_NQ3/%6!>V"L-C; "!=!9V71I?4J^/YBA,NVLAKV^%Z_B+UWK5?AE:]B M?.L3*6;O8A95,\C,U?4<)W;B!>B0@I[].BT*%T:AU>%5>X-RO?X>L18*D=XJ MJPIL.^M=YE>&;6=1U>'>.1P%2O_$:'7V(Q8W[J=S4X4RV!=!0U4#9;L>S[#"G&97B96DIGC8%>H;ES+73,I$)(E7CJ64FBPA MU&0)&ZM]V:UFD&!E58\R;']S*#!0R&I/1@*+)X!%N1E8+"Q\O!B67AX$TE75 M^J'9OUHSBZ)O#%!";0<]C_1$BV@5R"YB*'+?H_P\UR+AH*N7+FELO0^9Y] - MV8"\+=D_?Z"#BUWS33.PQ6NQ7?D"#UC(\$24WP#(OW@8_Y&I-5__[$)NCS>S MNG\GK82^;L-^NM#^+.O)6^8V=3U[9Q>]=G_ST/'WT@)23J36FF!]*5E?;*?1 MS?Y/I\?Z@%0[[?,84MW!^OJ%K6>S61\3)=C,MZZLKV&>DKJIU=CD;8H'F[HV MH^0-.UE_*Y3J4B3+_N<<:?E/;BUUXQB+#YD':BWDLP@7C;8(Q&".]ZIK(:C. M+H;M[F ]"*H&_$, O#J 9Q>P50%\W#R "[]3/@+RR=0!5+KFO KQ>+J&UZ X M'TE5AI>/\+\' ,]L*O0'[?%FLN4.VRNVEW&SW4YY+NFPW=EL$%T;\TLPP%-C M@,5Y2HZ# 78WR[[MX']QM::;[7O*=T5[,2*E+OQ/N)_RT:Y5#:.4#96\:E0O MK=R8$# U%##I2@JG]Q24S_8^>6#.QO1:>(917XXG"/+$"'(89_(>XKH3!%F M"G*Z.<>U2(G)O]%H]>EDES;+S]T_44O"Q#"+[DY;/-]>J2 #._EY_VF=FP2W M\43=>.;RW30P9YFJ[)7V@^DH>OCW*]-VOIO._U%XS=1\-&"-5L5&AVF9R !L MF?:F)4-@HW0ON\XUK. %L#"K$1#Z@G]38E$PJ.!'QX2+^:!A<[!!LI>9%TJW MIKYN#1=/\-;@T2Q56]G,APTE9>]Y--G-?')3V [Q]-,;T_*^PNLBISF#8=)I M3K=]OL$^>8Y\G9(+88#T9:J[*O7ST,"0\K/,[C[?//Q(C#KWI56G\[N?R!9Y MPGS6LLSGX*?UWS"[C=Q]_O[SV^[8]JW9:FLK\6'UMB36(_.H[V!@[V!DP0Q" M'R)_K^3.W>7GZ];'']>7?VM=WCQ<_WA/%/U9>;57\BG^+WAD,EC9QYNK[YJQJ_@+:IF+W7E%9=1UPS:FF!R M8PQ>PSN@D+F%5/\;T/%9Q'7P[*V&AJ2%%C_?9KQB_$)C&<7+(\2 M6=85\BC#L?]XI^P%"T;E$2(*4Y5/DO==MV CH6C%[)OXN M#77MFY^@8-B7'GX3JCB,$ZLX\(T,"CAD*>@0WO>-(@NYNX:\NA'=]D;E"/95 M(XHZ%)VY6]7SB_42)7!9?S@L.;:H.8-2ZK]G4N!KZI94'>.J+\4IF)P,[=?: M:I63$=VPDW#!8 2#$0SF( ;C%?$3[*5&Y"_8BV O1\)>6'%0\HF5]1 Y&VQ7_X)25 M$:LI_IF'M:1B:\6MK #I48/TCEJ$'1X<%5 ;U7N^F#23E&4"-PXSP:"@4^^P M46:'C?*)II<4V:8J1H5+""D?Q766E5MRM]63UP()UP[X-H(^\VUA MOQCP3I*#2,1#^L#U^CUI=+Y95*D&P>3'0@]Q\ZRLA]N> MQ!'7338;<131Y24]B134^D66Y?:HFB:*526#UKEKZV?>&>D4>[/N,8#ZM8D< MI>L956]Q'.TUE5$:RUVI.ZIM2TDQ@$904UP1AX.IJ1+Y74K_MGZWW=E,AJH) MX!IE;>J0E)+>1XEIZ*,\DZ_/:[&*,]/H!^787YC6C.JG:AICJ>=H]$; M/*IS+6H7IC0,V\/--E4U@=M)>P'"Y^=QV;I"HUAGW#U@W*KILOS1AJD4,4-/ M8G%RZJI--=,C*=5&!E!9 $ &/:*;&Y$=91# SB".LQKA]B'L9TZEV+L=MOC_(KQ@@/:7GE&-?+Z514D3'M MCM6F&B,>72548QQNJ<:X/UD67ZIU1U7&<+W$2('!'(LG)I5.[(9*)VZIC[@W MS]]>(3'*X)=P:VMB4>572YDY^(J@\&)*UI]01G'K8D;+&J:MH^C53R1>/<7X MUXBBBDTOJ@BLB?$=8TI%545O!.$UX7X@E.PV>7-W_]-^2["N(@@S$'4@&K!L M'U#R@FDG"G%@C-0A!C.Q\2N\!82@YLR)8KP^,TUD0IUG2HU4=0_'K/HZ+WH( M\A 9HU?=T5 3^NH,UEVQ"=I,:+I,Y-F)I>J7ECYY?\=' NSL=O; ILR="E?* M$HGG=O:1@I5PK5@&R$E#_3LO)/ES"3/XJBTT9_\R]&!D=#N;QQ?1-6$5$!5G M;1>F?%"X&Q,<%J%L7*P,IE_B$F_"4H^&ROX,2!0>>U(ZE?SW"Y%X9X1EZ-8OC/QNK%?J!+T2&HY M"LPO\BKXG/B KE?K&*F.E<3#50RO!OFX:45RGH)BA'AH\A"VJ M94Z4"6O2Y$%G;:5#3W\&]1@U5V4ZU^@35=,LY,[9=5;+DWQA-Y]U7)6&#=8! M^.HOH):#UG&&V>%/Z-% 4EJ5( 7BTZSE2-B+*$1:+PX@8!H+TY#3050B/:6-%Y5(!4Q/N5XP9D M76YGKAFB/NDI0S=E?=*C@&^C,JBJK%JZ&6XCRI;6L#+C.'W9TMT117LD9/ G M7+K.W,3#]6A9>/!9R:'#5TG'ZJJ6[:>,H4Y9D>= >5),W6%7=TMPF(&J5ECB M^F5#CC/5*LU5!M>F6NE &HXW,Y=J"R8Q@!J24Z9BI345VZ64*QT/VR.YKD17 MF)D=*3#@>R2X$C$^(+\HV?2.>&IR6\9(Z&-KO SW"JF@XFF-S)>:F1&9"IC6 M3M*G*V'Z'VJ9JF+/U]D-L6$G_ONL=7;1JJ.Y("BC$LK(5)&TID([IYJDVPBH MGG13F)E]Y'(Z[!V?SA%[0DQ7S8PRE17=4TRS/%OVS60W#YKLS8-"H[EBJ#H. M+B,(H@*"&'4RU?W,))W+)@LAG9MM10?_S_5M:Y):/F)G>O[)[$E?& MZ0J<:4*M\E%'/@K;/Z]JY=)@=+Z3448K@I;"-HN,'BJCUKG08;;17_>(/ PE M5"_O[MN'M-B@/G'(SP_Y8X/I1 US4<,\S.KB(OE*T"]J$LG7/Y?&@]W*1*1$V] 2YJ-.7$1@HW2(PB,".^-VY0V)1!7S4ZZ%553& _<\C=K=^ G%'?/$ M%8!;6N:3IL(H6(U'VW87G#*)ZQ<>A>^W5M-CY?AXR3ZO#FGIM>)2E#7D50G? MI]N9LNK_ 2GY%9*MUM2U4>E/R ^+T(F'^=\Z[)\X<@A^"M.:3Z&<"GT8#0%& M2,$,3XR48\BGDB7*7$:.._"#&G+Q?GI>6SV02"$=T?Z[C^K+%4$DE)B3BRXQ MEZ[V6V2O-[8@+?N)*6)7BZ)RZ7T_V9\8ZS_8GM YS"6AKQ)U5P MK\]V\+O]C^D/F%HH'3U3%ODV?2AH\>%M;DI%]8=F_VK-+(J5] $!U':(Q4I9 MY>/P+O1$+=L96JY$&\,5]C^$2/"+R;TR#>;@!N7SRT_0"P[=_>HG]V(;='F_FQOY-60I>/D9QG:F!X-967)J]F M[^RBU^YO^A9_+XX+I"6E"GF%8$01THE+ Y17I"/GT"NGQB0"#*?31G6X2A)I M@#%7O4)S[?=-U+49)6]8X[^W0ITY@(L_V-DZS6X8TV]]8MJEF:<>+2G(_6ET;H#$=+[=EE?B70[7;J"=TF M^BYJ)=Z?3!T0@YWHA'"OAXG0S3,DOPZ^"A]K?P^@EMF^'O3:@WV]%=VB?#]5 M>2OR7<\8[X_P5PAFY!-/OZ'^BCR)1*[7FG.R7@Q5PY@V0R6O&M5SRY04 MW.5 [E)04;32N,LG#U;9>$NKQ]JL"_$K"&0;@<05(&J2^&T\@1Q!?'X]@HH[ M:8**JX_)+VT$ES8&R&<(;YF[7PWG?^C\)JI^6A@@E[ )X9IV<2 ^2 W M& 6!;=*]3 37L((7P+*L1D#H"_Y-B47!4H ? :+PD!8?-EFN9[9*Y'FN3>=$ ML]F=4^^6"3X@>($)FC51R+/?DU?A24SX-,U4V<87=.11VB[Q.@LWIN5]A==% M?,:#<3?19]S=8)GLD+%=/6FN]86L="#^_A&6C4! <$_GL'T$LU:K'E[U.Q6? MOT1MS"R,SU\"4@6D ^-P*+M@AFW=,&>)(E7B-]?W=W>AG"5OD@U)7!)Y@,W) M \RV4;%P%'L?/TSB2IE1 >&V^P> M>ZKTH-V/.>3L*8^4H,PK-F.-7:A[HK2G[H MG\<>9#$PG%T,VYU.UNP'(?!+A=^!PJ4B^ WDVL*O)N9^Y=(A8Q;-*=%FCLKX MH&!3M.F),J Z]D?MSF:F3+(^/DA9UJ-I^GB.RSKHM?O]JE5RP5>*XBL%&Z1' MP%<&G?;YWGPE91#S"?.5X: ]Z%7-5X2I?W"ND&"\F1CO,&4GQ_V,M5/,=A#* M16TQ'F>T'.R0$!C/+.@:EL4CHFOWCJZE+U/=5:D?K@IRW8] O?O\_>>WLW6@ M=3J_QZ_%?L&F?GQL4BBWW.,1WWQD[V!H_M^KK=Y[8_D$_)WMAE*XHKNXA%M; M$XLJOUK*S,%7*/JS\FJGW]^UQ?SSTX_=B\DV?+4VH0?,9RW+? Y^BOSV<'OU M53-^$;@&HXGC7Z-J]E)77G&!=?O074 M,*D%]4>^_7C%^I>!JKEV;88N"VL(/[M@(=*8E'"%4L-P[#_>*:LE"D$FBI_5 MWXR916@@3!0^O:Q=$\&T& M-@635@M HQ,?E]Z+C4NOCO=,+KZ;3F*3&YE'Z.$Z=CMR[P.YG$[=A>QG#9-] M@'A *P%R-CPF.GTE#F@_MLY3_Q3U7Z[ML#YD+/?&H Y+%(318Q;?HZ(9-G\P MA4>C/L?RY/@-F@'CA,<"X5.[37:F(DU99W=VGQ+:=7/GE":*CEE^]CY)20XP M-YHJJ:B*]*4Z@7A3M>JQWNTO&32KJ "6MPK@9JE1>24I13@;9VS(UA(2C_I% M)QY%]FT_+>\$4HJJRAZJ34A]PD\/R& C>4&Y9P*)32P]MZO@/:R-A[W)P&I: M7D["3S7,)!1H$&BH'M!M[ITKC>L\ZWIVF#E;(D SHMB1%[CT62TBDUN M4/*JV&1!R6*3CX&2<]=;UC;_M#[6),K?KPX!=!$J*[E_D,9'[D\GBD,F%'XU MT*ENSKSB?#F'(FP9<\X1,MM>\YG[!8F-!1&3L&BG$GIRE;R4)IYJ8./,7F[PFB6'KI M@UB(#>L&?YU=](:2W!]OA+04OK5O!4:+PF@W!J-RDS%Z+LGR9M2V@&AS(=J+ MA:C<;?7D9D)4'DKG,35)!$:;B]%^#$8[3<-H/RSJI7YW,WBU+(C6Q!=;C?\U M:A>/N1VJ7=RDC.Z!3:OQB6RE3X%5#$(!-[#5R+T,)&X:]>QV MJGUD.%B/^;:_4^=V]J"\7#J.I4U<%N[W8-XI&(5YH)G1D;KGPLPX.E"/XI/K M1FO)=<<)ZH'4'6]VOQ&8;CBFX\HFQ"1%'R>FN^?2:+19:D6 NN&@'J?+@CX> M4/>CVHF%/4& C*3"N%T,EIIF@0$&!)TF!W;H8DH("<[,\GE5DODB2 MFVXW+S3PNR[EY^?6I#'_N015RF_FN/&*LFC MZ'-'01W-I(XM$285'%Q621V%GV"FVZNXRCR"/*HDCRVQ*A4<@99-'J6>A1Y, M'C4Y+JU5P/WWS!4R10B^"*(6RR.6IP;+4Q,7G@C!/]$@N'%<$-PAWC60RC\# MH?PED,"?03JC+E>G<+B(_^!<1"T?&;;/.W$!5X>XQAJ*[;ZHMW!TT(Z+9#K$ MK]50:,M2O[?9K%"@N_[H3@)W7)#0(5ZI1H'[8M0M']!U++0K0O-%#%0Y,5#G MG2U=W*NT@D0TE @1/DE:C(OWJ=AJ$[0H:/$D:3$NN*AB,U/0HJ#%DZ3%N%"F MBJUB08LB8E]$[(NHLC5.%1=55O698J7!R84>+HK0Y&9225Q-I:I/)ZNDDD*/ M*46 $4-M:A65_ESD)UDVP,XJ*8+"%ZGVV*[81PPL"3!*V]ICK4?&ZFZ M8T9$O1Q)G6Z1.7 '[$2=9>?)(7]+RZWF(E_N2?U!I1X(@?Q&(#^NDY?@^7OH MA-O6O6GVTLDA/ZX_F.#YQ2*?6T+OG(FION(GM/XNR'\10OQA?W<78!Q,O2_7 MPCZ]_4][>B7Q.4G$AD?.DHAHZ;UO;JV_L+=TPD=_[_VCJ2LTW((E@>UXI&@7 M&?0#\1>XTX$EGE,$/3,=/Y"0M;=:K7AK<(5B\HX-+FZ!MJQ/F.9P$XI;L3]4 M[>D"5X[P[_E \4OV5V3$:9QZZR3"B>E!>?FDV5/=M%V+/L C/NI .6>-?IXCR1_ PIP0YJF*\$LTFMCOY%YTZQ#'](U]'><'FF93YJ-(@+X;NA%U&Z3&_@&KTG84F=N4U@[;2MS M-IN^2@X1;TH2[*"]!+2#'J&_ID*> 0AF2/ >%$)?TFTKX/D$#X](N![0R8&9 M#,KTZ/4>ER=ZNUNJ!F[(F++V>Q2SWZG1V]U2Y$VN"KV#]J9NF8A>9.2Q^PB< M>*+8F&UC, #X/!IWWG 5G=#9C#^&W6C!3XPMX[6O5+&(LESJ&F?CH'BWN$# M%_&7KFX/O3[RE#)9^;-BDZ1]3AN#<,B?I3:S%,E-$ 9XG0=C0$, 986910P>4UQDS8"[_D*G.(0&%&BM#<= M/@4*NK>&EC=;/\#5A'-VVQ_#DZ*["N]#K>OF,Q[ V6T^JX-99(+.41B;[.TM MW*O@&^?M3<\CV9-#]G8(_EK,M"MOU65+Y9"]=,4^:\HA82'E."4QLI"I^61 MEDUAD[@2 9>,,#&6EXVOPR@46&-$#BB7C@6\DZ(GTYS^"BQ]^@(+I7%SG_]B M+CT."SSEF>HZ_G<_ILPGQCDS_[LT]BR\/SN%TT[8Q9-".H-XC0I4#49CA2#Y MLWW?)C.J E?0X6F*XSJF]FS:WC22+HG\%H;%CY!L038![ MC]L1LBR[/6U;/K;[3=Q/-T"P*&(, 6PL6LZO?YE9A94 "5(D 9+5IWL.10)5 M6;EG5E5FM0HN&VGV[Q \.Z9E6[P0:_"! _@C@B_S\$:^'*C\F)<#(S)E0KU71O':J6FM%#@1L #$",93F(;M&YB$IIE+]2 M$P/3B;R#OU'BH3SVC',I/DG>AGG6I1@HVA_7+C3]HJ/M$P,%;F5F\:NM/#@M M @$:(2 RR^F4<.@$R_$-C=&__ */ MCGMZH)[&H*.P("_9TE0I%EP&7?.R7>?V G/SF:>%-VF8)I\+61<(0ZI^*Y.09#R7 M1B-X;.YZ*$ZIQ3WA\V*;4''3"TKO*RASXPFW/\DWF<\]%_PCQ%/]2B0/ 3 > M>T0M+K9J:=>/DPXLU,>O?WTYR^\MT]9G&D:T$C,&I_'5A3 ._\JYN'IE_O/^^&IE$ M\ 0WJ0%FTPO/?8A_ROSV\^;JL^7\4N 9$WSBXFDFEC^WC2=$,%@'6!ONM"Z; M'>8PE)F'2O ?X'N?IM/# ,"<_/I'_,CY;G'NVC%6JOC01%*9;)\D_RF91O1@;20A'7]\T^4[AAO^/]\A_L%D^M?">M M!"IRU;9Y_Y"VS3NY;7.Q6"5>K=P[_UEDC+F-(AGP.! M$P:.DSLG1L2_;\'/P\ 0/QN3.]!F?H!K A29KH\CD8N5#EXF+DQ<):L0+0&T M-'@T@?U$[DJ0QEL$\(G'09^0FX6GJ 38H,00\622A>(N'_?XZ&E,^ 'ND'CH MNZ(CAU2<&4"[,6,.9G6 H#$/H0P)A3])T@.<>_ 17G"0E"BH^?"E1T M)NN[,KI+;9&M.'NQQ=!1S\+@BZZ#0<"'B MR/_]#._(@M46%7WBO_VY8<9_\^AH:CDT6W%8M%[8FJ]J@^VMWX@SSPVX!;J3 M]BBP!,"J0WDM,6)I_+^/F],E5UWS4R8STH294%3<&,IN5'\OC_C+?1N^J95^(E@^R90;[BX>2F\T=#[K9'MK>G MOZSMGOLYY:C=T ?'J*0DV;9D2)^"E!(1.*_;8D*S6J[N:7FG>-XH+'L;2K1(]&S6_0T))BL2RG_Y5BX MET+%)[;<<6H/]4+V7@=D:7G$45%#N8*"U.MELY/"(._$;E?T.[W%"_9V-%1'@\4SO#OEB2VS MW>GQ<5&;LH*2T2?#QWAGIMU6-7T@&?F@&+G:!;Z38F1]U -&7BQQ(1FYR8Q< MK3##:3'RL*_V]EMIM9'IG.TTL#U[>QUZ[IPUL>GL;J:IJ^WTJ.3Z\$ZC!$[< M)DJQIG;[NQ3B!G/@L3-Z496978<1S65T7=5ZNVP]TV ./'9&+REAM],PH[&, MWA^IW>XNXXL&<^"Q,WI)=<.=AB'-9?2AJO=&]3)Z0W8OMA6#T!6I)H8@LJ?P M,_I&C=I%?:-V'?(0+S50;6BJ/MP\C]PL1I3B>)#B6%03:->!62/%L7OVMJ.V M^YOO3S:+$:4X'J0XEAP;V&GXV$AQ!.L(/K6^N4_=+$:4XGB0XEAR^F&G06Y3 MQ7&D#I[1![A61FS(]EP]!_NR>Y?Z@ #YB?7W%(^SSL&=]3N"WF#+M$[)497G MA4:7L,,[FG+D@E!RU.5YP6E3!*&G=KI[;!XN!>& !:%: MF?F#%(3.0%<'(VD1I"!4$822?0473K?!^P#U1]++)5]K;$FIL>&N M2XT)D6$C";,Z"OTO0M3D_(@F2RWI0L2"891!8DJUVK1=JZ.Y0%R4Y. MAF09H],@-J^NUK7@ *X[*LEW;# FN7&_N>MC9 M_B\GZ<^.7<%E0:]JE2*J2/[>05YJ_XJN:>XZ-HGY+,5FE\YDW>()6[>*6D_M M]S9/A>V=L$TSIU(8GRF,15=%=QU:-588NVI'WWP#10JC%,;G"6/)[OI.(\.F M"F-W ,*X^?56*8Q2&)\GC"4G"'8:V396&/MJMW-XEK$A^V>-*^0ESB[G#BT? MW.&XYQ>OV-5.^E:J5^@E1T,&^VT^:9DW"-BW))C$POE.O:RV3!2M>XN=QLDYQX1YY8V > T 7-MV'_ Z:GT(VBE7#Q>JJQTC5V]< M4"S2[)^!/3\C=UX2<^;+B?E+ZHF-=EU/+$W)A:.X"RB?1Y-"N:O<.V>=ZD5[(]LS$;*;AD^2'1O CMJ)L.-^]DF? M9?[*=E"WX&VLKO54$N-7K/)T2 Y?@9.WJ^!V5RNJ7B&HTQTLP]8.P"%)S*A 8K0+3;_H:$^.+QU5='3U'YG)[<:CI1=:P>@ M@?*B[1FIGN/FYXV98UL,/7]>_C'\DBJ)Z>G5L _%7IOGWITW6AWR9 MRM'W9:+7O>JT=8VCJ2"E-2N<;7.=%,ZC%L[.OOR!VH6S!\*Y^66.)G!=XX/Q M^K;:EEQ8_)QLO?$3C/OR1?:IV%;<#"@\I9I[1(#566#+"X+[-W%,?MDMAUTK MP;VNYPSQP<0W*GRHER/#'O5BBO\O_>6/W=]P_X(E)M?X146 M:PJ>. Y'(5'F=_X'F]Q,WSU]88;CWP#/67F]V$(.\0XI7@B@OB+ MX8130$CHP7,?#-.RK>#IDT/871;4S3U[_%MFNCB(O.9(C[5HOZH6[9V]U5J+ M-T45X"@;"89WX)91L5]4::"@8I:DXHZIV&\M%K&,J3@A($F&EYRW#68>8Y6N M/CJ@ %*7'>]I:-B3PFG@)"SAFL_)[93RWE M9E$C6416MH*C*U9'E1Q=SM'7=W/;?6+L![N'&0#6K;!XN[5XPB-F<; V3,P* M1DY,NUI]%57?E,1>B]C_\? 0D/O@W$P_6(_1#=83;6JP45!Q?: M8%P@',@+4X1$G!+'^:KKOF:HM%8*EDTUV4#:YH9J,KVUV%9DN293EU.Z6MD< M2>EZU-A2EF0Y&H&P3?;#@NT6XN%I-(2/Q537T3L M8/+)5Q"]8B<;2?0,T3^Z[N0!<(\B'S 0^.F&-%U,/<8TM1SE5DRC6'=SP_(0 M'1%95SJF@Z*V+I*RZ\75N+HK#LKW78CTHE87SF/" R["H A\*#GAKN*8QJ&V MTB27M$GEC/8/P7?PRH!SE?&3,O?<26@&B@UDBLBYLN+4!HF6#:B_6,UJ)6#Q MC6L%ZU>)"EJ-+6(EZAG-O LS]/$T1@149GM I/K_T:9_BG8!XI_B.H.XQQ#M M3/#=AVB=G7F@M)NT4_#LRE2@,HW;6X_=D@Z^F0KF+B](A;<%]E*0BM-A8>C1+)('MF MD*]HSIO.'TWI1"C4=4]_65.CA4IEI[8E0VL48CL!&LHU8N('=C")'HD>NH>I;9"<(U5 MRI^<_S*^"??%M3%A>7"]^,JOIHQVTS9GZ2V17L53E-_X_LF-]X-Y]Y;): LP M)H:@!3P$I(+/5:Z\"MOZP7/OK@ A.T_5C"[HBT"YL5;D'B^ _Z=_#0>U[]\ MTCU[VQVJHVY[ASUVCJ+K4\.XLF*S]0/E2KR?/5#[P\VK)TBNK(,K*W8=/URN MU,!CZ(\6CTM(MFPR6U;LOWW ;#G055W;99^\2OWO:L^$;*M(U=77*^6+8H"P44*!53*H/EN<'9EBIHLR^9+,[4+O#739? M;3!#'3G?%MX9K>J%-YYO.VI_IWW:&\Q0Q\ZW%6_9'"3?:EU-';:EPCU*QJW6 MF_I &5?7U%%OE[%E8^K0[LV1[[Q7OGD6WL^0;OSNI;/D$E1&B4?([4H5ZS>![Y-+5Q;M$EM:J._ %P[E#MR1#T.#FW9'NRDBO??,[M MC=2N#$*/DW-+MC K^?('P+D==31:K&351&?^4++R=$-;^<("PY;._,[%LV0O MMY(S3Y0B0C5*)%5=DU[043)KR0YO)?^]F]FLW'D4]3&[.6['96(.D3H8[?+ Z^GEV:E"D2((V$3G M?$FIDJ535F_14^DRX!K"O'>(ERF!D@WC2L$ \8;XQ6^2'M![FRN!9O'3SL"3 M8K97,2O9WJX4QC13S##LWDT_HB:(F31>AR!5%6N+'I94#?H[:2TJI4I*536I M*MDRKQ07-E:J-+77WTE7T-US5$,V>^JZ]\R[>WJ[B$#W<&$J3_$.4)PW3? MWY>6E4RM,*J.GQEA-KWPW(?XI_QO6"=?^?;QZU]?5A>O7 @$RU@XF6U9^PBM MQ_L_1("]!LCB%:3^R'Q.6.+;YSAD6 MB/A(7XN/8N[(T>:/]\6TX7*Q#9;A[@>!#0O4J(6!/"*&/LVV10EW-XZ[^APUVC M!_!;:-#0,OL)J#]WO4"!:3^ "P3+O_@?&@OGOW2<$&99?.1/)>HO M]013B-9![YDIVAAHU!U(:X',G383C=\"QAX,;W+QV75_(2GB)F\@#[UV<-\"X%0H/L0^Q+[ 9 M+'YOH>DN>![<%6?Q6W E+-.:PS(7?QLSVX+8K6!J/X"XJ^B5N<^!26$>#D1\2WJ=0$09<2-Q J8"!@UA:%3ZD<4* M7+1/2 !P!6VP%!-K.F4D8? 6-46!-X _/(JG)P M)$A#"&,X8LBXX$Z8;WK6F ]%[HYVV8KI\AW?_,#?3(@SY9HCMF* ;U]Y0*\: M_C\N[,[U4:-@C+/,LF%7.LN&JPC6C!!<6\%P(#@@%"> _O7 W!8 M>P.>$@2Z-$V7=*W]Q'66<%)P&I!J> 4BI9 Z35I\A(@[R]FX14ZGC2,^Q+Q" MK.1#Y&/= 3Z?%%(E 8G/V([T*G!?.$=WAQY9(BCP(/C&-J +>&[LL[]#' R3 M00&)I&EY9G@'+P#(?NN4#2YX(S?WN.?/'D[=]P !0C7C.I$21PUK3Y(PRC:P MBVI \CXU_ _3ZQ;"[>T[^(VLHST#RP%!N&-(K%K9^ &3_-(VSH7$W:'GT0[ M3^1M, XH&C>HDX3^L(B1V=W8\@XU&O@K2DC0\94RG!U";8Q3+FX]8\)0BX!)-U7PL .E8:SK;]#:Z+X MEFV92 XO'&,(02A"F% ;&[@FGZ@U,9Y(_:5HD*"<#PAP@%&$*'\!Y12T)+BE MI3X 4D$YS5QB"-!P,+GEF!"6^;@^4E@X24P(0))%X9[ESUA,UC19B Q>9"3Q M:9R3!104$O1A ,O]7\1Y5!K^CMG1$%]W>)Z"!Y2!Y]K*^=77JUZ);,P:,>S<08UK@Z1@8>$8O(S^!"\P49XH,HMC[>O1P9D.?9C:3F*P:?P&]OF.A"8PBCH M9G%0@ [C$(@*!.6F';C5O6?4^'!42> (4_B!8;DY=B ]Y_F>QJU*!W M@I86@WLN\LP!'<;P+^0J]*JH*>_%!##A^+2ZF,H7AH61,[@[H.:47[ M5Q ]3(,'@W.=^"T&Q# ]%U9@@#AS7\$C7P3@ 7_\@K.@3S&((?IFD^U%,2>) M %>&+"?GF' ^!R2!/V/1%%/F(&1J5W&/+%V0]?4(]<6D6280#F?YT MKC_ +"OGZ'A0P@$6B=^H *+9>J6B!3:SGR*) 6P/MFQ,GQJ+&[$*)9GEQ*IK/(]M3^WF14W1<#-A$-VU,&9!K M+'2X";1DZ2RB,-D>NR7#N?!)0!C M%T)D#= !W%\6X2%:%5@5>S09*FO7I'-]I)V%E_\?0 M[ 0L@Q3"5"KEX@ U*978XDM'E8[;KGZT=-OU^0A\.;$BY^$.CQ,%9C#?21:& MD99^H;7T2&W3>E_T6]WXBTD8>T^DI>D);(W.X/14E=88$>(!(%8T+QY13\D$=D M/0C A2V/5U)] 0+GRP'76YWE@*O99RI#K2)21NFQ(^&XB,8 \X3>.#W9CY\$ MBM^Z[H0XVP*?SO+(K(F'.1[;K8[ 0_*2R-$(3LS-$>,0>4!9 WNU*ZW: ;@A M=XF;G9SE%8X2;F'Z49K6?HJX2UGHD*0JF7KOY.E^2WNZJ<(S/!O",/,\N< M18 9Y+JA;4EY%8,A>>'T+(,%DHHAK*Y)D"&>"N3BJYM.17)GY: M>(LBQR;")4(7>F$!*7L5"!\1GR[R$;-$8PZ'(>^:1.N//$/TGC+.832-L89/ M"'ACP&Z1MV>,4A.E:%JFT!!1DF04^?9YEY M#'<1N%C>.(G6TT(:V9@DP2*"O'R BZH$)O-5(?D4$LZ8@[--,JD6(1\\P;(L ML1*G'"YP9$Q@D$R1(PB6//J60@EP ;P@^J;D1==)Y7DPWKXW+)O4'3J(<]0/ M/$)?@3^44Q]4EA_PE$1!WDS%#,SD%B7>MGIW2D8(H6B.SS7A,Q!C7&4S\;8C_*:JXB T*O&X[T%;3T_*!"R8 MF[)C@@ I,-+KQUPDD0F8UV8B!2-H1P_.K-O9Q6*NSD(^$&8*F(Q-5(Q;#9Y) M 2@("0F#9#4Z[E!@UL3RO7">#I.L? PF+&MF<"N!7@0X/J#7&8UZ#IQ="STBCF>Q*= MFD',++_ &):8A<0JLE3FB^(SX=RC/B:]38^*'RQ,>18*,$]2F"%HW[3]XVEP M.C")*@!G-K#RXKFYFEQB6ASL4 :.C M8':4"/\?-&<7")62]3URQC5E'%4Z^,ZMIY52V?^U;H5-M1[1%5DPL!@U 4(= M8?-0[Z$FQ*!$;#LT245DCO&^^S,^%ILY++QXN4%\X_%CLU17B1\W?>Z1[27G M@O=S8#LZ+:SU5QVU33[6>Q;[F4>QU\3X\P]B'_8Y[)7L4.LQZ88X )^<"=@# M4LGI!-4&KL!_81QK^G3 WD )+C)N@QS!!3"(9V"P%^XL3\I8Y^61):=2OC35GS2)(A28@^8'$./5B5W M-NVS\CP\G@;%70K7(S&[6=B9C0;G(8Q80R8H\$NC @JJQ;F;_!(H=$\M(N4S M+QQ3HKU@T"EW8]M:G7X^(@FM'0#0#W^RI]1-J2_,\./PYR-SY3NURH9^C@I459A:DX6'#+W%M0">"BI XJ^.PV.LA/FN0OA^PZ M78WQ,P>1Z-P#**S#/)HBN(5G(#T+89IZ8$'NV!GM60_S"!T^'_'Z&)=L!?E%@+O[;GX.PB;^+,E($K^7@(0%1AZXJ MO$40\@B>UX,0D7U2G&[S@1O03):TXAT!!H3]:2%]WJ2 QS1\:'B MY.F2PW/8;?$S3^'@Z8(N8*@S8)*/F\T!4F%*1I,*$&,%[L25:8> MV/@"3V7BU<+T01OA:5GJYXL3%-]'5^)*!!SBJ-K+1-$[ZE#K M8]G\O\/XG-'R>C7ST#-G_#Y$IOQ-BK:HX?B5B7CWEN[^ DLPO-F<[!9C1=Q.S @4ZM=57YA?+U=@?J8-2I=;UZJUMIO:=\8$9%!I(<<77X^9PP#_"$;@FK\BQL\\(XX(673)RT_='IYA,6LL M!6=&9Z%\W\49T]4TB\];3NEF5G3X)A8T<4HEJ2]#4@K"ZSH.LY,*(01&^J!* MNA""N&-+!BZ@2UKHWBL0$$=UL,"P&52$.ZFR%!4#ID,H+>6&W_B-ZE@B*&:. M'+GIC;'OVF' E(EKVX;7I.M0M11"RGW1S^-%G-2<*Q,0J/Z''Q2HG/9FZ MA,G%%%!EZ@[A$+?SS0T2P0H?@^) @8HYOL D8?X#:9O_A6]("H+ M^<7E3F_!N?7$*6=C/KZUO4JW.(YAL(0\7\7&LV+%[EXD9,H;4HE:6SPC"%.;BM1MP9%7"<@+R$N M[1B5EN;JBOOD=W,\_@T4'[O@#\6>110N7$SI/+4XOQ\-"/;@ HNTB0'5PLL6 MT9=3RP/R_LW;XU! 3]7.HHXX)7FM?X-K@W7O^,,V=W[P\B?SBLI29N9*5QH4 M\W'W-,$$,BG#ZFX4XT0-*T2'AJ28JTL&A=?0B*M-Q9?V4H6E:&')-3\UE0', M7WM0,[<8U/1]A'S)Z86ZT@47:1=O_5%-G#A4$RT)"->W+@6P6&@N;A\2+WZ2 M+C.*?3# TTVNTB2UMJB$5"31JJ@7RBOKQ-':9!F-J*W".M*;\:..0P^#C?JR MJ&Q;V%.MZ(<(B24)BI69!S/NJ[$T#9'H?^"F6\^X2S9B&/:#\%P'B\T3NW(^ M,)XN@- 7IHUEOZC71F#Y%)<%5*#>G[D/Z2XID0&(CHK3';@V MR^&-1.E>5*K8LT!($C4:=RY,_K_QBUG-&!< YS52TPD0CF%^5CY:?S1\+@.1 M\"]OA9+\2&G6D)*IQ88T5PP\.UV,;EXHG6N[) F:*L;(K_6(T/HACKX;: OW M*4O?2WP4ZI>FE/VZ0JIB)1>'X5@<,ZH/QEV87%'>]. P M[:2LH9I&KO\5U. M56'.#"O]1L^GRXRE'\L-&_,RFH38*H<^Y3_H%B'O)C.-?\0&,2)G/XE?5Q51 ML %E(DQJ)8N212WE*B[ EYXD)4H>5D U[- 0"1WA?O"$HS''WAA *+I$[E&1 M!&IT@$:'MX6X_'&E='KMBVY;58"*GQRP/K<6%7'G!?:Z_U(^1A6)<5#J!J2* MW@*&??$7@/-#@(.D3HMUJ=]:5;;CLK><2#SU$E_=3W8L4FI)33"58$ET!4#M MA'Y6SAOCGE#: Q$56V75U)R0?RR--;B8E__^7/-9;C'32CU6#5,L%)_2#(9I MNJ'#RX %QB/WW-AMU+"EN99Q=72W4HC2C$T62_0KX149DDUQU[LU' 'CJ3/Z M%;]-'C="RE;H)V;GOUTEU\YS5?QC)O"5"=X.=ZBUT8H> "77UCG%L)9=ZDG: MP^%08%":SR;P7S)2MA 1I%/^1=7OEU6X+ZMHSSVC\B+VI\Y:F!@C=?/)H0_ ,L M.,4GH6K/AC\#M]XVXNKQJ>";)RZJST%\?X^9DPD#*2/A"N=4A^$^;G')W2_[ M290-7KI/1//GH4YFH>P<[RU+CBL_F9',+?HM&BC5MRRWUE2O$/XBK[+E)ND@ M7DT#E0WEPWW>-Q(\39AOZMJ6JT3%[:,:"W%ML!CFINUWU27XW_"TFA_5E!8* MX*?Q*#/C"$ 6.X+/ \0.&M%,^9DIFZ!;A'XA-M,5_7O2FZ[\O;@*[MQC%^CX M\5%31Q\HI* =7D@51OUA>Z"558F1Q!#^JVAWY M9B3U0D583@QGII5$J@TT QQ;U%\5"]P8C[$OC*L1[BQB@@=_5 L,VQ625&>Z MQ-(./_<'<1C;>%"X=DDURN4YZ!)<-$ANY3YUV3[U4.Y3RWUJN4^]?FF\[Z(S M..#O)E;%IUX.#^-)\.W GI!SR!V_\ Y=[Z@?@Y?@+7=:BM=(BV-")]V!C/N8 M: GO(J7J(PI!ALSK$L;F4"'8=J6N_OBA:1#??P.KQ?+>Z?RT1MW&CG1N!$$ M'=I4?DP4K?"=KU!I1M]>0*QSRY8J82VEA+W;\7E;5?#?5T6:./-[I(_K1P[G MKE65Q(1>GUH.J;MBRY^::ZV;,7F8%TN45? I5A4C*R:(WNNI2O0_KQ:O[(W= M('#OBB[M;8$@P^U=;%HQBR)H>\'7PQFW;&I #Y#>^?U,ZZYVEK8 VR)QA?RE M@%5\"'4G.1EZ6W;NY!G %!](*5I^M@PRF+*?=)_F"S]U<;UXOR2V:CNF=57L M-9?Q^I+OUN"[*S+RDKND6ML)>WW%\U]2JTFM)K7:ZLOB*4?Y#WZ"\JSA#F@< MV/1?[I,'!)L&[CSKT$<4X'QP+NZY\8UU-_0AP/5?[8$AI#!O59@QE;\O42[2 MS8VR'I*WMLU;FN2MJKRE'PYO53 1Q O)/5/F/HO)?6E79$^B^2M ^,MZ;.< MLM62/LLI4_] ?9:2"JDEB:UV5U7TSK#&G=6&);/B]H;E=(]R<2^WQMC5:DQN M<<)%23I#;;=L]N[+K-FD3?V= J3IFCI $UPC4O9,EX9.6 /MV^U66U)>JH"> MVNGJDA%JGU"J@(80XM14P'E'[=?L!+PZ7A9HJO"?ZZV1I/D)BWUGH*N#D73^ MZY]06OZ&$.+D5$"_J_:TOF2$VB>4*J AA#@U%3!4]4%/LD'M$^Z?\GJKTRRZ MK[>O4O>!X<;MJ^1:F.QW?V6MJP"[@V(K.[HU261EX/M#M3VL,W;?*IHE$QXD M$_9ZM::/) M*%ARTU;8VE$PHF5#J0WY2/Y;X_\I[<. MP@I+[CM&[M/;/774J3.5)6VPY$)P ^L\0R=94+*@-AJH>F<@N5!R89V*L-NJ M\TB19$')@D.U/ZKS3(OD08-'*SCR"X[-%%!P M0#IJOR/O,]4_X?Y)WZW7]VPH'4Z \+V>VM'K-+@-I<0)D%[*?",FK.'^F@9A M7KUV_HAOL#66ZIV:Q5W2?/\W5?I]==BK9>$KW_".H1^H.J# M>F^H-Y(4)T#[;KUG*AM*AQ,@_'E7UB$Y.9JW:[Z'F*:YO(+XK.T/T;K4N578 MXYPY/O-_J[%)B9Q%SB)GD;/(6>0L0L0![&=D(+/I78U#^,7P?C%*2AH.K-^PF2^/9M=3<;"M]D;RF&;]$]:QG2^W M=!LP80TRKZE=75['J'_"&F1^((]F-V#"&K;TAWJ]A_;D,8XZ#F;+=C(G1O.^ MKNH=63R^_@EK\>?KK#334#J< .'[FCKJRHXQ]4]8BS\O&\;4/V$-,7RMW08: M2H83H'N[U3#G3A[/WO;FR'?F,\,S9[0W,F'WS';G=\R1Q6OJD;B1VFE+75O_ MA/NG_$#&4PV8L(XVC&I?DWNB]4]80^O%IKE732##"=#]7 ,K7R_I9;*\!JK7 MW7!3$GW_F1-PZ&5_[09,6(=#+P.Y^B?:L_@EK<*S[ MG>;XU4T@P2G0O%/S^0=)\[W3O#M2!P-YHKC^"6NQ[3)56O^$-73JTM7^2&Z, MU3]A#3)?;T_4AM+A! A_KJLC76Z/G!K5>S6'[[*N_RYW1ZYLUP\]IKA3Y=_& MW'"4<>A;#O-E;:V:K*NJR=):#9BP!LK+6[D-F'#_=+^05*]]0DGU!A#A!*@N MK7LS)JSC?F!;VO<&3%A#I1VU,Y2];^N?L Z/7IYRJW]"Z=LU@ B2ZI+J1TEU M:=V;,:'TZ!5Y>60'VR,SP[D%*"Q'F1J6I]P;=DB;)2;,8\%/3H ??6M"'9-= M9[_;)LK5X=S?&0W)?7ODOD%/=W)!JD!3YK_9.PK^4_RG^2_4^6_\Z':T^J\Z2CM[VGS7[TUAR7WG33W M'8SRDQ;X:'GP,"-@>5]QZ88\83;^K],G&'ZZ@6$K[IPVU)U;A3W.F>.S/5]( ME+*]/XGI#M3>H,YK$=+ 2";LC%IUUB>4+"A9L#M4.Z,ZKPQ()I1,V!D>QE:[ M9,&C9<'SH7X0Z0:9[3I*[JOWVI[DOI/F/@V"X4&MO:.E!99<",&P= (E"]:J M"#LC=30\"$LLN?!HN1"B89F8EBQ8Z^ES=:#KD@=>1E8'KJC32[LE*(_5/6$.SC:;5&6D"&4Z M[GUUI,L*O*_FGU M3UB';:\SF]=0,IP W?6!JH\DZ>N?Y[E^$"<^Y/'?HV2^ M [SD+KGO6+A/Z\A3OY(#ZR1M6U["EAQ8\_6OOK3 DOMJXSYM35:\E]-4:_!^'^2>X[2N[K2L=/,E]-5)45SB7_U;OK,92.G^2^NNZXMNL] M(B-O&-:TO2YN&([9U/58M,T>&(_[+OY_-Y00)T!Y>XT-)0,)T#WXX5 = MZE++US]A'=:]SKVTAI+A!.B.]PQ[\IYA_1/*>X:-(,,)T/U\J'9KMO+2M]L_ MU3OM5G.B.'G/\%D;(=\\]][R+=>!4;P:-T+DKN?^-A-UM7T8F^[RW,?1\N"! M-+N1''BT'*BKNEYGN03)@Y('I1:4'%CWQ:_N01R D^5#R8+UQ\$'4GI <>+P4 M/%BK+]@]T'2@O(SXK#WXKRP0.^\U[[EW:I'ME8P(8"D3-QS;+,^)+YHMZ>6 M=]11KTDE9\HAK=O>U,.36T5/@]FPU22?IQS.EZ?&?Z>H$[OJL-.DW0"I$T]4 M)]9YN%7J1*D3TQNDPV&3ND*4 UKC#JG4AKMD0&UX(#[B*ZD03T A:IK:;Q\& M0THO\8CU8J=1%8.EEWC22E'7U&Z_SJO74BE*I4BE'V3HW$C^.T6E>#Y2A[W# MX$<9/!^G/CSO'HI&S 3/J>U\^#AV)T_T WPVX%7^.=Y YY.*^=)D0#"VLC8M M6^1CS@&8Q<<,9@P)SD^F*.*@P3_:] ]@8.$,0OQ31(%V^V6$*=RY=UB$2418 MH+3/E-<-6?/^ ?@1N.:OB['ALPF@]F[.'-\(L%H >\3/5#K9#B?PJ^4HP8P! M@$; [I@3^(H[5=PY\^AY7YD8@:$88_>>*5AI )[EBPMF'F.*X4P4QW*8<@<@ MS'R%.3CF#S:'P<;,4SK J'I;U_%!_A[\I2D/S(-W?1C1MMT'_[<:,57*G@D$ MCXH1!F[":V;H>8"I*^3+6%:M.^.617PH6'34 P[-L'EZ)2:,P;R8]3.27<#_ M6]J/W>O!Z_778Z[!D(VLK92LDN>V67KV@K#XM;&E:HJ6!I43PQ?+G9 M&=$R0[+AL=#S"7@UAN=SU\H-??!]_%<[(NM&0JB?MA"B0]I$29,L42=+:)(E M)$M(+2%9XO"T1,/N\91S&] V2=*U,\2KX%N)M);BSBDUI2H>\P//,@.&(.(O MF(Z:,V^*!'5,QK_=\N6K;O"5U"+B75'^KZ:K>W>)%V$- OB3[6ZVK=MM;O/_S#.0W/U45>=W"S7E, MOA'['IGO(G?X,;5LOE6QIM]T?3>WW2@\[$](]+;*SS=ZOM:]FK\II\DZ2PR2' MY3BLI_8Z6[Q?M6,.V_&N0C%GR6]W]VWC(Y9M'9>Y4]O;+$5W- 0X =+K:G<@2=^DF?=(^F&W&=?7 M&A_-;\OK^";MGMCO':G32]:E9%OKM+=:G/AKTGP#A!X,MMG8^ M&O2? .$U=2!EOE$S[]'QT1JR97DPZ9Y]W^3]R!SF&3;Y2<;DSG(L/\"]C/N] MGNZ0EU2.ZY(*1#S:7LQ]DX@FA4$*0[$P=$=[R?PTB6A2&*0P%"URH':'>SFY MV"2B26&0PE"TR*':W_'EOH.ZRWNBI\?D7=X3N:26#'2Z#R;N\ MDL/D7=YB!_?- ;1(3'GUL@==.<(FUGW45N[;QW=_GBU(#(K,(AN);^+(*HAZ MP&7&^_#S^]*N!ZE)HE@G/N&Y#TD4E/T)F^,IWSY^_>O+ZLX*"_%+A,H< M$@$_?"Y%T4;1M*]AWE@&XL_ICPG7?;O\>'WQ[OOUY9\7EQ]^7G__33'L!^/) MSW?;S* W8C%]ODXWSXB'7/;0-0:3FV MY;"+L0W!70$+QX,J;PQEYK'I[V?_@#CP+!.1/@A,6(X56!A66-@+ MY IB?J">#Q$_X'BQ#2 '#S>U2@X+0Q(="@C)\4C\U= MC_=6]=DM'H6D+7]LU>LQV\"6)^;,<&X9-M&EMKP*[\B;;L1;C0=E-][C\82V MUHTWC;.%7KE;@S_G@I4U_=US;UZQ]DYWC;BE.J6V%2EM.F/<7<>Z@3>C29$# MFX5P2>)=DGA/&[7'80D7LL!K=BJ/0-)KMXY5NF#NUSA6Z9*Z!P.XM_,^DM=J MY;65[5VP:O75%RY:"X+>\3)*']'\Q /CD[+#=A@Y->53EQQ0FO\XEK MVX;G*Q!5!3,W] UGXK_:,R.LT8P[-7N=;>\_)+VINB\:KS%(IE;,O=1,+=4U)*7CX67I:*6 MS+UWYEY1:D"J6,F%QZ1B3Y&7]U1'Y=@20-]WTC"G>3MCFVVL[NH,4[-6?0HS M2LH>ZXR2LLCI :[=53=]B02"I! Y*"0Q&K2T6NI!*X""5P+FF:KV:=<"K8V:#QHK_ MN=;:8EN$C>C^3VV"I6MJM[_%MA/2K3HH\FN#UA9; M#TCB'Q3Q=1W+H1,];A4/='6^RR*0.I@Z%[I]4@NLM] MJVW%4?\VYH9S]&%4S2>1]RZO.UROINK#"N9_MX=Q][G@9IH *1V-9!:MBI64 MLB%EXP1EHZ.V^Q5.8TCID-)Q@M*AMRIDTZ5L2-DX0=DXU]3!H,)9KN,1CZ-. MB=R6W2)W=DJYDS>R:N#9MUVN5=/! M+.ME^8YT0^6D^\_!$E;ZJ[O&WG')1KO=*LMU')EDG-CY9FD]MF4]>FJG6W8X M]\AD1%H/:3VD]9#60UJ/+:WUO*/V3R7TD+E :3F@P\-IDHN57U9KW^ MX-N7FZ/J@;DS].R_Y>9-Z$4I3V7"3(\9/ILH+SJMO@*CVY;KJ(KK*2! +U5E M@^:L)G46AB$#EU[UC3NFS $:=X(-*; +3DMY5]0B5HWAHL853,F4$DD#J[7T M#+#P]^Z Y2]_3T#C-^[2\+1;@PP\G98&\&#'V]2*Z(!I=A7#S%NX@P&OP:/, M,&>*"4_MC _9\D"$N B:!\,0+=GP1_8S-<%CH%G+1\ C4CC,].%Y?T=&A[( M')9_QKDY3#"O:;LP+K[(!P9\>48 [_LM!1G0,/\.83S\!M_](QS[RMQS[RUL M3QE! 3^\Z+=&?%"!*$+JBVYKD/VVB&'4I$_PBUZKH^1&T!9&X'3E?$04 "* M<9]TT.2#I#L3IYGF$RHDAQ:>;#3PGQ#%#KN%W^Z9_:180#,SB*@*2%^$VRPVI-LH CP$@^J$=X,(!":!G':&;S2>8[9ZAE )>YQXH9P]4$8WXP(Q? MS$'0!+[>>4!8?Z9\0VU+*$',\L;/L-H(DJQTOZ>>-:WF-&_>/P#OEQ%86:2M M"JC'T>[A5[VC#K6^$CK6WR Y($J3T Q :H&Y4/9\(@-S8"$,_D+1 .H+\0>R M::W>2P4([)5K#!1;,* /P0R_6S5#!%AR0"SJ.W6'2&G$!$(+K U2DKM[%H[ M *E^\Q'Y;""7[#1_J%ZV[#2_*J:4G>;WE^II?D4>5DJ:LG<>V?NI6&05+&2"X]+Q9XB+\MR*!LE M@+Z?2"$4V?3VM&>4E#W6&25ECW5&2=ECG5%2]EAG/ '*[NGT7NI21WQ+@\*. M*&3C0>QHNU>5UTV=?'+^RTRZTOG%M1&L99%$9DD[OY._@EGV#4Q9@9+5<.RX M2L/9V^Y0'77+2NZ<--&."9C=LU&[M-WPOE%55ECIP$AV,AJH-U#[P[*FFB=- MM&,"9O<:J%]:.4YJH 8 TV -=#Y4!]VF:*"RHFKAREIWH':'9=7^#@Q9$IC:V*@S:HR_>$QT:Q0P MN]=%';7?&QX'LB0P]>FB;DLRT9$#LWLF4H>=LL+@!X8K"4QM7#1LKB:2FZ^I M6+;S7OGF64X@(]G#E35MI [ULNZN!X8L"4Q];-1O228ZS:L<. MS.[92$:R1P_,[IE(U3O=X\"5!*8V+NJW^DW%E-R5346R/V:,!4J%@CJE9*/_M 8P>FKZ",5B[0G$ M45^RS'=18:W'[<%=5T&T(H24R/HQXTCO53HA*SE&RO4!4NETY;KB76W),5*N M#Y!*IRO7O5ZE'2_),5*N#Y!*IRO7[6I9 ,DQ4JX/D$JG*]?GG;8TV DZUJY\ M(65:RG33<'3>ZU6[5WXB//-JXRT#6:=?X3/SCCG>B53KWV*?CDXI=T[<<&RS M)56I]K/!M]^U:KJF#O2R*\([WT/<[V(;4"QXUX)2,_:.2S;:[5*S?62245:= M\#B$0EJ/G5F/GMKIEFT<'9F,2.LAK8>T'M)Z2.NQI;6>=]3^J80>97G,XQ 1 M:3>V*!5ZZ3V#8Y.)DJ+$\''L3I[H!_ALP-/\\^K^J;MJ+S3G ,R\@K2M8H2! M&ZWU-\4,/8\YP15B*L: =6?4&[&>#:7DJ9%G6"+,5Z8'8U_ M/U->-P1A^P?@W9,R]]Q): :*;3E,5=S0B_*DRH29'C-\ICP8OC+Q+/A6&3\I MAH*ENE\F/UN.LM#(B*\L&LEP)OP+0\'D?O;=S,EO57F86>:,IIP;7F 9MOVD MN-.ISP*:W.$##5O#E_!R,DJF,G6T!!6 [;?ZV2=3=;^4%(#PZ*#5RSZ:NEB= M# G?,YA(,?&AJ>LI #_\YS&FW &"9[["G D3"_[!Y@&[&\,".\!M>EO7@4?O M8&5LH@0NO>H;=TR9 X7<"8X-SVBM&EDBQY,3ZUXQ;6"_'G],?$TWX[?+C]<6[[]>7?UY< M?OAY_?TWQ; ?C"<_T8@9K4&'_:-,_1=I-_!3IM1S._WA?C'/. M1\_'^,^;J\^6\RN>8V+Y<]L 5%H.JIB+L>V:OPI8.!Y4>6,H($W3W\_^$;AF M/ Z1Y4%@ J0<54-$/6XJLU_>&YYE.(O/EE&ZNM" M&V^KLD/J4^W2O7\ WEAOKUP_0.3%*O^CY_H^*&5W:@6DBOD77P@FP)?UMCGZ ML D8:Q%.HB_SYGJBO-!:(P5FML$@@TGW%!VLI;HC6Y6VV*;K^):/$@&*))CQ M8?$]SPA8$:SX'7CP+_F3.S*FRA),=5J#"%/X/+H_$^O60H,/) JGAAF$'GH* MX] '[>7[8KD2]JD\XP'@!_L&BH]^CKP\ M&@9Q\:+=TJ(16LH?X=C'9^XM0#:,!1PT3.$E&=C,HQ+^ _!GH)99XCG>NW9X MM\PY4F)2\B7%]'R8,>? /*1:-,)2EY? M2_8TI,Z+7HH1UQY";PFP.>: ?>X,$+))6H\0N-UN2T///%$HRU@J V'TZDI& M3( Z<=:Z 4DS*#JZYGH*GN:)08K16)R,QFM[J@/N[6VD!]K4 9X"/R"N1!NH0+$ B3UCRQ3!I5 &<;H0-(@D%19$ O!RYXG#ZXV&W% M?P*#>I>%F3N.P.0I %)>)/H.(%SP-0@>$/#>PEGQ)9?L@1M;"G(KXT@ Q:XH M>9<(8,X!301R):%;M3-L[0"@^\<<0#UGC6 MX2DN&>)S-RFGC$RSY38 MF7[.S@QJ$!I#&0/8Z+'F)0,X([2)V<@EY,/R+(RA@$6P;"MX4M-Q4-[< )/E M\,"CH5SXQ%_KI5];$I*M9'HC%4#!T,4RQ>=,"""RY=G8RP]<\YCJQ1DU$M)K7D8VC6\K-XDC "W8XX;*>\ &L MB=W-;?<)AO9!X7J&8_+41(9=(J87$OW@60&[F+@/-,#4>L2T@0\L#][M?Y@R M,R:*XR93Y]XV$WP6($AZ19SI9H9SRYW5J6%YRKUAAX0R] 6 L&@5*5">$*5= M)\6,"0G*'E9LRQBCSK2(/";N/DPB9B,6XB/]1'(1)-4!04YP38LHCGE HKEA M_AV"< 2"YRCCA/FS=("S$;-K37$):@<#@W=RS"P1J-MQH,[= F +)/6M V\1 M=[BIQWE 7R5G%QOZ G,;:PR.C;0GL#B9>"4;M64@$#\MS_.TE)O\T!LGE!./ M)$I"3;B+D0D%$;$*AY4!*<4Q!O,IG0Q/7(#,JQ;^&X"W '& H!-]>P]?H*>; M=K#Y[ZN6%V7%JB;N1)IYR4([1=#RUZJ!O-HKRD8=9?@\=1M0GEI+_'PVG>+9 M"W#7 N,QWFGI=/$PPP8"$'F,$X@ VB\SKGQ'@S&SDE6XWX(V(^VXXH,%4%I^ M@?^?=7F1+[@)_"]8!A_"7;0?@#1,%,-;Y#FH,($1* EJ#2(%($:%N[/$HPP MF8@H_&@.M%_"3MFV^X#^#J 342F8&U^:QYA'):6G/*$-<)H)L[+JKD!-+@=$ M7Z(M5R7$&R1.\EQ)V;D239XKD>=*GG>N!#_0@USHY*D3,*5OQF^O2,M:/NE2 M#M-78!WE"]>:UTMU>'R&$17IF]?CMW)SZVUT,2'0@'ZMQ^:N1X>PX?%; MRERC;TQG8**TH8CK(\OM( M6OY*1PK%K"I M(TJH1 Y8<@NA2FF2C:N9+X=N83&I2B8K;L=L-K!6/BXL%TCF_'ZF=5<[BM4G M7G'IA&2$UX[)24,&%26U6/+3)[/3Y!D'R'&].W!_4DL2*Q)2)*S$^.V"CI:!4+RHH'R42\U&Z0R]ZTQ7V+RGE<;C7.CDCOJD?54Q8\" M5I2R+F5=RKJ4=2GK4M8KR'H#F6%/M> /+^*IT$3VT#++#=[_X;?SV:*JS5^09P*S?+:=R-)*'="DM MMS[;%JI';SRW/NJI6FDYYP-';/-FVRDM!Z/2;N!;7^RZQ>,/A(:UBN*PK_;T M[G$BMGFS[584AZVR?J!2%)LOBD.U-QH<)UJ;-]M.*=DI[>:R4SEL?$YT6S[Z M=>BY\XU:64H.K@9 ?Z1VN])!/P92:GOT"IJ'VB,B9'^HZKVR?B\G@-PC(B7( MI/3TCH*0JC;<6_JC>;@])DK6*)$GDURGBC7-]]N7W&Y>.C.>*DI=^JYZTF4O MG>MV SBX)/JZ+DDCL2LY[D X3E][NZ&1N)7\=B#\-E('G =#63PY)+;&!ENAWU9ZV_7UAJ26DEI!:XEBTQ%#5 M!^OZZE)''*N.T%OKYD'WIB%2,1I\C&OQPFI=VM\JZH4+J:@HU>S=Q#RP*<;U79 MWBW _.7O"7C\^&T:IE0C/]YTEMIG\G:1\6N\T5VF56TO^U:OU8/7X%%FF#/% MQ#8XZ]>)KT0#;-*3;O;*88N Q09622]:-]W;4%#'9Z8+J_L[-+P >\%.:6X. M4T'[0]'9T'5$JYVB=G#4Z@;K0T=04,_*0:H7)V]+J+=Z?)Z[I$O5(L/$U?)? M:/TT,\7Y6WQ!*=)3R7Y@>FQPBQVS<%Q! M$NIG^F_# 4P^*=A4#9]5Z8F)Z.:4PA;^ ,KL=E;8".T3ZD&'$)UDICA<2%*' MW1K8A,E^4BS@$3.(N B[E V+>UUOB^\2[ D/TP:3VD;FN7S#;/:/&8FJJ M0Q2UG63&+^8@9((T[SQ BC]3OJ%Z)](B$7FO!6HVY19PQGNJB-B@9DC[!^#] M$OH6-OI[8-2M%G[M#M3!2'1:#QWK;^!O$-Q): 91PV;F\8YPS('%,/A+S7?! MU5O=EPH0>4D3,6IA[+D/P4RTHEXZ0P1S+4K7DB.S+(ONRU##N@3<'D:BO#?6-OQLA^S,0P+(O MBZ3]/FDO^[*<*.UE7Y8C.#NX\[XL:\A3HXM[5[I6>7P%VX^%?#O7AL?>A^%8 M&$'*\4&33\JQ9 0IQX=/OMW+<0/I+F\PR5XI-69VY;@2OQ*_!SVNQ*_$[R&/ M*WNE[*2A2@.9.NB Q;%WO+SS8/N4=$2JW7DI'8,1"RUU%'(]FA_!A(J77WM_G5/-0> M$2%[:K3Z9%/R/&6.!\H4%ABW=]UWZ?&J[+],*QT#*;HUJ MZ<1FV['+IPY&WU92-IR7'[U'"-[R(M^>V( M^.U\V&Z\26WVK1'):Y5YK:@9\LFWYGE:ZS[SE M,_A!-B266D*V+9=:0FH)J276A4^V+9R^1GRU$RA2*B 52^/-%.%H\+9U]*W4R+7Z'VHC!#:Y1]-G4, M-GGV86:9,X)N;GB!9=CVD^).ISX\27".6OV7F6;="V7GXK7R:3%5DWTCLXE? MW&&<+V^[;<:;T_QT8MU'_6B^?7SWYUE>!;;;+XNTFOA&=.ZD\Q!<6V7&^_#S M^]*:WZE)HA12>H#9],)S'Y+D4O8G;#*J?/OX]:\OJ^N*+Z2(RC3ZV5L^EZ( M)<6TKV'>6"_'G],?$TWX[?+C]<6[[]>7?UY4&'_:-,_1=I-_!3IM1S._WA?C'/.1\_'^,^;J\^6\RN>8V+Y<]L M5%H.JIB+L>V:OPI8.!Y4>6,H,X]-?S_[1^":\3A$E@>!"= S*.\1]?")_)=Q MDB_W;!FEJPO-V5OJ4HM]%ZY@!.Q%_>:U\;8J.Z0^U2[=^P?@C?7VRO6IM7>L M53]ZKN^#+7"G5D":F'_QA6 "?%EOFZ,/FX"Q%N$D^C)OKB?*BV%KH,#,-E@Z M,.F>TFUU7ZK*^AVZ*YBJM!6^A?D#:DYO.+Q'.+:0+P"1][+OO.03[P2NEK($ M/YW6,,(//H].S\2ZM="Y ,*$4\,,0@_=@W'H U"^GUYERA-R,CZ*9SS ZX MT#;$QI%K90(D/H("$\>$ ;C\T";G9^JY=_&;/CT.XTVQ33T\AR/-0.T! FSW MUO(#R^3/^,*_HN;V&4C8WZ$UOP/%1"_#."/<.PCBNXM[*%L M*"^ZK5&**LE49HZ0I?RB%+#*PXPY!^9RU:)BENI@KG#X-W/^2,0+$\Z]+[3^ MH-7A"TE)UCIBK2%U8)Q^A@W6TPPM 3;'7![(;H^'%?SMBBQ$8'6[K>%+ 4V) MOU_ ?"H@"V)9#PBD3(!Q8:!R*0?%PGS3L\8H#&/WGL:.WW%'(V<1%BZNU]!A(?"(!#I9RZQEW7#%$LT:F M-'EI)6JE%=Q<'+XSGQD>\ .2YCTH7-LE/XK+Q TEQU)/3)(G$N%(C YX-+V, M<&@=L+U+J "!,&G)$\ND M405PMA$Z D=^.)^['CEP*#Z@C0,77$4? H"VXC_YL,XL_!RQ$5S F.AQ@&@! M5"!V0+U["^?$QUS2^VYL$=+.IYXXGS\!HEB,RR4=7AH6*A#4-/^L0ODE=)52 M^0S?E#E 8*91,/7$R23)[K?[^!3-E7+AI MR$2E16PO.#PU4BRFB4V&=3N^P?/<_'G!1['LP]QN<4"F+@*EI8'R ]?\=3&F M>7#A@%CNOPHDKP!MY>L%D%(B 4RDQTC:A!ZYNKY9@%5/F4D8*,<&A(K(W@-( M=@@.MPBAE3&P#X8U>1.="](Y?7GNSX@#ZVC7(@-,*K0F:I;[!:M\D$52<:@Y MO>A=_D7B#*7T%T=,/PU+)5F1NFPWJ3S;]4-/^&Y FW\;+ PD1(F4:QP#( M;NQN;KM/#,@/1A)TDGMJ/2('^\#\@$H0HU%Z[$CD M+F()F@'Q&'\RR^2N.WF /Q4+>-+R2'>(AXGQ,7)9R%=PA\+D-%)R<[24_S!E M9DP4QTVPD%M+]*K04CE2E.N?U9I,"MX>#FC;W<6Y.:9X=QR+VT* M2%;N#3NDQ:.;"-Q"2'<='[221XH^Q> ),LL>5FS+&".Y+4*TB3MDDXB!B2_Y M2.C?F01)=4"0PUS3(MH]6,&,J%>4H42M_&+8ZF5Y90TIXK]%V:16[4J( U [ M&)C*(6G#= UE:[@S]Q]&I+YUX.'(P[>C1_*)Y15[\(4YN;QQ3 ^7-F# F/G9 MTYGG*HI3:XG45#S$ICL>B5M%7.PCVY(/D@E:!M8MKO8): MGD)- C VG>+9&O A ^,QWOGK#%O=EYN>E$GB!FV !W/2TJG349V(Q0HW -$L MI,-X?+ 2LM?&IGAB_"H"!#\) Y =D$;0*EY<* M,X@BG#AUSQZ9!RX4QG5(R#5!RTOL9*Y8BU MQ"GECZ<)Z2X#H=<:9L5^77W?I'A#'J4J.TK5D4>IY%&JYQVEP@_T(!>ZLH-6 M&3@70J!5(JTL51W-L-5OQF\_6Q#&3/#$!]JA*V-.&U;?HW3]F]?CMW+K\^V5 MX<^4#V +3WX?&!VEJ8MN <6T))%^>((#\=_^W##CO[DYFUH.:?F\PT,X(_@M M8!LG$#4+M@5_SG'JY9VKWLO(4+Y);M!4*7FPG9J$SUF90."@_7+57:IM3ZF5 MSP@H N([OY_U5SN)6R1O^56JDFH7\5+ZN5(2I7*U;=#/T$A_1;7YA:O-ZT6U MR8UT>8T)(7?IQ6X1MVMBLI IZBCTN26ABDJJ1!5!'I-OXC L]5W$@KGJ*^N7 M##V?@!4V/)]G*]S0![/IO]JDU,AS$)&N)T/_:8LK6Z$"]#,%@AO^65L(='< M[/,H52CM56OG@"RCB\,%=M]$>N:Z=UK]3/+@GGE0.RT>K*-0U=:\MK*TZ$Z.OK_*,YAX\DZ.I])NI1Z]QL8JMP;S?W2 3$0E8L.I9#>;'&"G3UDOB:.AI4J(F_VSVN M%?!OE6!';6 DHY=V4M+*^BQF>S;LQ=3MDTPR6-DX6$D?/#]AX[D]]NV4LB^O ML]O$/&_UJL#G?;77'QZ!EJE IN.VHI+C*W+\8*0.VV4-7XZ8Y4^PZ/<)G*JM MY>S[#U&X!T+V^++ J9^"_\/R ]=#Q]/&6Z1X._T^7<^$)X[Q1FH8UQQR'5_X M9_R.!94% &2&'D 0S(#_;F?)V7E^=S!Y-2XH4.KG\4MPHU11![K66GRO.5M_ MI)^Z\4KSOF>F>$6++B=G"B.)^F8$ ET4SE^*7+Y5"0AR/;HE/0?>FD5%I7A] M,WZE@('@\\O\5 LU5:-)77QQ[B&BL+A*MIJI*-$@$,[K1/"R+9V6GKDLJ"8H M79;\YR_KR37JE950:4A>1(5*/P@ZIWB"R*8EEZH;= NQYKLVG!>3R/(J\62&M3:_CU-RVQXE,;H6CY*A)8H$)&KRWY >1&$W03X- MD"JPV1%FS( LOCC3,CF8F14U2-."*A@H=IZJ2I"H%X-IA5M!*^/R+3KK" MV J%,F%3YM%]:+Q33U -4W5O>'6I6T0UTMORYZX/NB^E).F11$_FJEBUE#5X MJZ/GU.@F#*:MP6!@B'IYO;T#+LLMBDH35N*VW@)X:Q7*1B:L6)*&T[VW".AV M.%+OY\8^::M4223210Q&J3HQ&^G<2M7T%[VN-6B?TC[M= N 9 Q1F64M?LQI M1ZHH6*QEXZIFL:KEWY3KVY6*,:D#*C"=51ZCM)8ME>=<<4"U6.&FP-I4%LG\"-VQTAM^DD--Y[PP%\\*E>*120'*8\W*C>T,5.LM"PO>H,D\$B8T'--QB9" MV:1+@L5UY',"OH2\_#G-8=-^GCD[9 M/RS$BRBDRHACD@ULJ@[KW!JW7/(-A_CR8BRPZ1,VC10VTYEU9,HPXDPLC$!=0C\AZSEAH"K!'_S"'_8[PI5 M-_@/R+S@]=,A9;(%PGL%S/\(X(LXL,=QO F) YF+]+A@^TQKCBWC1-<4T.OP M.YN+CALXR5\0MJ M#/BEEZER>'GY[16OM>P#?JPI_(2I MBP+H$6R(PJC7!PW_U0V8HD=I]BJK$4TYQ&F.2\<)J?8G[\'E*!]<[P[P>O%G MG&-Y8H8GK'GQ$1& B?PQ)VE?&>\HB +.9L3218O:M%>"?NJ*XCO#S$=&37BN M Y]-:?<0 .!E[*"*K4GXW@KZE82RC 2G48:CL;6ERIC/04AP-!"K;^#?*9]4 MY1-VKM.X#K!\Y7]"^)YYH!X6A>U_&L3),DM8EB7LR2RAS!+*+.'Z=@KH:TU^ M/[,Z9PIX^#@[?A0DAR< EZ@LA7%OH:K$4,"@/ASH\,(7=O3W>^[^T E:8^R& M ?8@_P4QRG?+_W7J%@^0_4$TO+D2#6\D7@" 2^ 5T0@O.ND7-09*3N4F,;%H MI:ZFVD"7G:B)FJQ,F./>@6\@W/Y+#@5',_#3B0X\A7[()$PWY:2M MRZ*V>LH[]*;]&02%8 0 MNO0<_GS=*:&07CX?]EIG]ZZ"=-]?SGE_>2\-S_7 MA70S)O?,\QFX97A(E%KT4*O*Q;CM/=7>15^/']]AXI03-0MR"RE^.9G0QC:_ M,N!N Z8,[4N!P2>1*P $/+>)W,,Y#3P@Q\B"% &"HE,0#X:7M,ZF]%B,.7 3/6J\ M0,'TC$UN>2H/2,I/+B_RWI/B@-,X# (H>$/$7"M<\.F>YGCT@@?^6OMEQ-?I7HP"PAQ[H*H<,]L")0D, MABVUHW<>W-">I%(MB$2>^TER#UQH,+XB/;\ J:J,0SS*B",M?[=P^01=J@7A M O)%?ZY\DU^QE5!Z>!KOB;"R[9-LXB-NEZ$BB'/>L*IGJ%9#FC2E],O9P:Z &4H#KOEVBVAD)F.RR.#BJOJIC8_HRS6FLA],4Q1 MKFI;Q_PX_K(CO%Q@V];JTD7;SJ 85KS&)?HZEW- M+#95KA^9&9*;<3.=6B;S>(<\^BW)_(O?5'!-P ?@9&&3;/_8Z#I+0%>H<5\O M'= G\TX2.III.LYC.BKG,,N$@1_+4PO?0U!'6L>XT'KG[)4"MH!Q]^1'-3!=<=1X4=79X) MYZ[#4Q\L9DJ5[Y6LCT;N@\/BQ;O[3B](:2Q\0)=7#OQNF=68 L]*/M7PZ4R!5!,#ZUT)YX M&#K?64&*@!FJ64E+>Y7#C-&:FC3>X^?B^>#XAPG4!SZT^04DY'8Q/\1V,*EG MH!31B8RIE>Q-_[B^ DG5V]KH7S!A:(LC!KA&_@G'O0OY;2Y^O^ON+G0@I@N2 M_KQI,4L.AVPL5@;MJ'GNW,/,!O5;QN:#M!";+GU1!V!$T"T$SCR;(BB14+U! M?G4]QTB2R.H3S_O8D:E04(!2F.<[DH#'4[<9_#0#*:0Q8WBG.'._DDY0"52: M:50F208O0B6I;4I>P MW*,XE.GSZJD0%O$K'W4OU,E ML_%22NU)L:U?*$J!N_B"NMXZ5XG9]AQQ&:PN"U8SO8=3D>M 1J[;C%QS:)9A M[ E8A22,G>MQ&(L?,V'LM\OO/Y5/GUK*S<\_KK\KG[Y^N/G^Y?+GIYNOIVY5 MT_BSM!0&\8^25(#64CZ#=V?S@):ADW?R$>T'N@> WCRFD^'_TXXU6O;4+EQT M^-4F[,T3[''OW3:LNWC;VDI*D+CH1QL>EF()/3^NAQ-79DCN@;242QN;C][. M1'03[Y'@GOAM4M= S&4:#N[2C+%6&D!BQK??9;R-_SX MM!TM>N(J?%"^2230@)$].35XBCT%#2TP#**J$'0C R*5*;ADZ)R15Y9LNL+[ M(U7X3:]*2*C_-Y2M/W%1#E\)X/A M5NWL53L 63UA9!2%4: I%.VR1<=;E _ GJYW\@HB>_04D,-#>_-?:23Q[R;_ MVN@(.%_BPCGPZ%PY'K/!"#ST_52.B[:=IWSVZ,1X)L9:.#8>WWA*OXIY--.S MQLGI]1C2@B!D6UC-.7RUTS@C)&EWQ,H[)(DQU5O*7P[H*RRQA='C#\/F&\#7 M_.+;CVP!#G&_1%C>DY>J&W&-] ,;>R&:R!$RO3;@@?+8Q;,;@*Z)Y3'.IT8( M]I&GZ$3^3UQ03-U/%**1OM@HN#YEWY7(=LU95%Y"V*"Y9]WS9)_#;MV WV6, M[T&"0<72%RDK%4, +YH$1SC'65[TXB(7P@#=.,H7XTG1^K3($7-.;M[-*7I8>,:651])LA@AR\[A1\8X-8S[G@)I<> [Z]3#A-S*%$66#P4 MU=7,:Z-.=.^]EDR$:()),JN$!"N(QA]&MU9TONAAJ*MF5KAN;X2Z$ M/$5!)3I;]**;*E<%<]V!GX69I"C19"40D8?$2[T"R]&57UZ3*N3%J]"5(I[- MW,D5Y\'2#A1V"<[D@A5>:+EV%+K(+IZQAWF]R"(@D,Z$)GK,9 MJ#W@XR4:!M6"8*E%C?!BD.*9%*<(_HQ.%UVE!TRQ<5SG-Y++@A)W>(4<_IVZ MF,_W?VL.S7G9'I[<^OVL?:9@DDC4BH__]N>&&?_-TTD0H%!BI3C[N''V1JP= M@@_FB*;H49HR*>RN-*$'6<$B!0JZB(&JG7 V<-S*T!LGT1SD@\#R+&P9-K27I3TC@%[ 6<[O9_KJ='#U>3?M2I0!N(0L^=F3R6GN M#!D$%5(K$@L2HAYC_R>II:\A:0RL8<[5V+=(OVV9+H7-PU832S+!3IG@$C04 MN \0>Z!1^F8 8'-@!^(%R0 GP "KM "Z#Y3FP U'-N6"3'091R??+,-?D#] M&W=:?,DT)\ T7XQ'ZRZ\BZ[H_']1Y6+!/!2T8E#[?R$(><=2S/17O/&^P#C* M.:5ZW="'6,5_I9QKKVKGI8:US5ON^V58H((/=O;VWR'(LB9"A2B*H"]%9*]O MN:_=LL"@]CE*6FQ%7!-)YQHM3U>+.H89%[M<>U&'Y<9@_.4>L+MA8S5)=2G+ MDJI2EBO!U>NK_7Y99^']D7X];Z7F3-7ZWLIE>!OZP8*_(KZ6'HO457D@W9O-.RN%5[%'Y+Y>W'!JO$RFL0V_\[Q6=ARE(JU2;R MS=G;SJ UZ-2N4Z7BD(I#*HZ#4AS=H3KL:K5KC@/+'S6)=;>G^3J@-29NB*?C M#E?UE2^B#MW7D;JON;I/.DU2=4C5(57'4;A-\#$^+0Z?\:!Z0\[;UWQOKI.^ M-[>T%OU[-C7H?O-?6//J!W,LUTO=ESOUNW%?Z?)FP#RJ3AP5P#KIRSP91NNF M&6UIX<,OV#OQAS%EP5.ZQX%D,,E@RQBLEV:P7BF#]5K*#5VW^Y24KY.LU7#6 MDA6N,B>H4T6MAM&TLJB5+,VL!D1N/.-KD:7\D[A1:_G8 GKC7/9%W?Q5MU]BA#7 MVS7>*B:B>@/MY"GXGNHES:-RXX*@190LV6H[.J&KB1:=EO8&%_VL+4=!5C^, M%Y!;(2Z0W#SALVHZ*.QD (P#Z!(CC ,@/!(B!<'\ MM]>O'QX>6CXS6[?N_>M+SYQ9]\Q_S2:WAO=Z8@3&:ZW;[?3[H]<0:6C:J*/I M/:!UK]OI#5Y/M-%HV!]-V&-';\V"NUC(+F# "U@"=AC[36%<%Y!K8WD3[$A. MM6:P+L]W1L46X4O$D*@4]LDQ70]&VOG!L-1?L7IY M]W3QV7CPBY0)[_QR%U5]Y%<3OKKWJ4J,6G]=/Z.)NJ)()9R]U=H8)CQ+!KNQ M#-8K=\4+;)0L/E\P="P,VAVV03#^7U<;#-I+A".1C8RV)C1-L,T36=C?>-E% MI/*_E+.W"\:6[NQ\=IW;BY]8#Q6^ ]1B6R6L7A/KWO>&9KT^,2:E1TA/[YG2,Y32LR?IV7:8LJ[T_"FE9T%Z^L^4GI&4GCU)SY)= MM6=)#R;(/-X=C8O.7XX5*)<*1D<*QIX$HU]%,")N?\^FS/.V8B;D4:&]'A726IH\E=.L4SDD M@3U-KR2!5[B"*:PA.HV' G8ULQB>[6=F2')U,X4G0/CFH>>'!C_M]P-<,7RE MT]:CUWX8WMAPF']Q\VBS)^72#/Z//,%;ATA6JK0J17+_(CEXIDA^L!SP"+&K MN13)0Q))75K)IHIDI9-%:UE)/)JZKLB.VOTMBFP31:\LJ--:G_[_]JZV-VT8 M"'_?K\B7:>W4%@)T+6HUB99VJX8J5#II7TWBDD@AV?*RC7^_.QM">#&%+A!# M[E,+"8GMYY[(6XA(4H-XHDPTJ*.-IP+[VY@D%B5FELLP5+R<21O$[.!W'J.B=$V M)DO_<6,GO<:T/9.-ZL?D/G;E/I DO=NOY$&T\"!9,CRSOX$?#$?@!6+N1_@D M[UD.'[*4EA1I[9PJMZT.464?J'++/"OQ9$R%&D-]%G$B3G'$:=_=$W'V@3AM M_B)4L(@W6O"FT[HAWNP#;SJLSSVBC :4Z3[=$67V@3+=D$=@ #D$:6]EP!9M M46$29K5!=CECE[ M8@YI XGY7/IN"CW;/=(V'*LQ;EO<,'N;9>97R\M#2?G6S5S4NK==M@:0E][9 M$@>6/L[J"X^SB]IE@>.U35E01493WS@1O%8"0BW^201+%:='N4J.O$OC1'?WYD(O0SU.U1G?TZX1^#NBKI%=T1[]! MZ.> ODHZ1'?TSPG]'-!725_HCOXG0C\'])7*#;K#?T'PYP&_2GA =_@O"?X\ MX%=MGM<=_B;!GP?\JBWBNL-O5DN$_ZIQ^J@=VF]D. MBJXYY+\2-^2R&.QD3RBWDA!,F*/'MQSF#SAN#,7#9K/>.!G_4&93P*4<" WL M! (%LT,WCA832RO@$+/#.$Q^+F>/U M6!([00C-MU?7-#?,QMG%CJ&3&5OR&9HF:ZV1O%5LOI8Z6&JX; M=]0-7=]R?S)OL4W'ATG:C58):!;F$&=A%N)OB0 %X0<4A+>9[W(/Q:22(;,< M3B&(QATJ40BRQ"[))#7L4(E,LHBF*Z1=-8B#%]I4VC@XMYR>M-/JQ>(=W"N3 M9M%I]9Y/IUDDRK0:W=)EZM4-\R/@W^N*@/G==<6)A][G=_\ 4$L! A0#% M @ /&AD5=4-KF]!" ZC\ T ( ! &5X7S0Q-3$R M-BYH=&U02P$"% ,4 " \:&15( T40CD( "M/P #0 M@ %L" 97A?-#$U,3(W+FAT;5!+ 0(4 Q0 ( #QH9%5S6":ET00 #%\T,34Q,C@N:'1M4$L! A0#% @ M/&AD50],__9Q$0 Z]H !$ ( !S!4 '!R;&(M,C R,C Y M,S N>'-D4$L! A0#% @ /&AD571>\+@ <')L8BTR,#(R,#DS,%]L86(N>&UL4$L! A0#% @ /&AD51SB M,5$I2 4M\& !4 ( !U=8 '!R;&(M,C R,C Y,S!?<')E M+GAM;%!+ 0(4 Q0 ( #QH9%4*R.7/>U$! =)& 4 " M 3$? 0!P< ( " ! end